llvm-project/llvm/test/tools/llvm-reduce
Eli Friedman cfd2c5ce58 Untangle the mess which is MachineBasicBlock::hasAddressTaken().
There are two different senses in which a block can be "address-taken".
There can be a BlockAddress involved, which means we need to map the
IR-level value to some specific block of machine code.  Or there can be
constructs inside a function which involve using the address of a basic
block to implement certain kinds of control flow.

Mixing these together causes a problem: if target-specific passes are
marking random blocks "address-taken", if we have a BlockAddress, we
can't actually tell which MachineBasicBlock corresponds to the
BlockAddress.

So split this into two separate bits: one for BlockAddress, and one for
the machine-specific bits.

Discovered while trying to sort out related stuff on D102817.

Differential Revision: https://reviews.llvm.org/D124697
2022-08-16 16:15:44 -07:00
..
Inputs [llvm-reduce] Add support for LTO bitcode files 2022-06-30 08:58:24 -07:00
mir Untangle the mess which is MachineBasicBlock::hasAddressTaken(). 2022-08-16 16:15:44 -07:00
custom-delta-passes.ll
do-not-remove-terminator.ll
fail-file-open.test [llvm-reduce] Add support for LTO bitcode files 2022-06-30 08:58:24 -07:00
granularity-level.ll
help.test
invalid-bitcode-error.ll [llvm-reduce] Add support for LTO bitcode files 2022-06-30 08:58:24 -07:00
no-duplicate-switch-case.ll prevent llvm-reduce from duplicating values in switch cases when turning operands into zero or one 2022-08-03 10:06:45 -06:00
no-replace-intrinsic-callee-with-undef.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
operands-skip-parallel.ll [llvm-reduce] Split operands-skip.ll into serial and parallel parts 2022-08-04 08:51:47 +00:00
operands-skip.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
operands-to-args-metadata.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
operands-to-args.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
reduce-operands-fp.ll [llvm-reduce] Fix crash when reducing integer vectors to 1 2022-07-13 16:56:55 +01:00
reduce-operands-int.ll [llvm-reduce] Fix crash when reducing integer vectors to 1 2022-07-13 16:56:55 +01:00
reduce-operands.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-alias.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-all-of-multiple-args.ll stop llvm-reduce from introducing undefs 2022-06-22 20:41:23 -06:00
remove-args-2.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-args-dbg-intrinsics.ll
remove-args-fn-passed-through-call.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-args-from-declaration.ll
remove-args-used-by-ret.ll stop llvm-reduce from introducing undefs 2022-06-22 20:41:23 -06:00
remove-args.ll
remove-attributes-from-intrinsic-like-functions.ll
remove-attributes-from-intrinsics.ll
remove-bbs-entry.ll [llvm-reduce] Try harder to not create invalid aliases 2022-08-12 10:39:05 -07:00
remove-bbs-illegal.ll oops-- I pushed previous commit from a fresh checkout and forgot to 2022-08-02 22:27:28 -06:00
remove-bbs-illegal2.ll earlier I fixed a bug where the BB removal pass sometimes created 2022-08-04 10:21:20 -06:00
remove-bbs-nocrash.ll fix some bad logic that was removing all successor phi nodes, not just 2022-08-13 19:15:26 -06:00
remove-bbs-ret-nonvoid.ll stop llvm-reduce from introducing undefs 2022-06-22 20:41:23 -06:00
remove-bbs-sequence.ll llvm-reduce: improve basic-blocks removal pass 2022-05-24 09:51:25 +02:00
remove-bbs-sequence.py llvm-reduce: improve basic-blocks removal pass 2022-05-24 09:51:25 +02:00
remove-bbs-unwinded-to.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-bbs.ll
remove-call-site-attributes.ll
remove-dll.ll
remove-dso-local.ll
remove-funcs.ll
remove-function-arguments-of-funcs-used-in-blockaddress.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-function-attributes.ll
remove-function-bodies-comdat.ll
remove-function-bodies-used-in-globals.ll [llvm-reduce] Try harder to not create invalid aliases 2022-08-12 10:39:05 -07:00
remove-function-bodies.ll
remove-global-align.ll
remove-global-variable-attributes.ll
remove-global-vars.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-instructions.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-invoked-functions.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-metadata-args.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-metadata.ll
remove-module-data.ll llvm-reduce: Don't delete triple/datalayout 2022-04-24 11:01:31 -04:00
remove-multiple-use-of-args-in-same-instruction.ll
remove-multiple-use-of-global-vars-in-same-instruction.ll [test][llvm-reduce] Use opaque pointers in tests 2022-08-04 16:47:50 -07:00
remove-operand-bundles.ll in the absense of the -max-pass-iterations command line options, make 2022-06-21 10:47:42 -06:00
remove-section.ll
remove-single-arg.ll
remove-thread-local.ll
remove-unnamed-addr.ll
remove-unused-declarations.ll
remove-visibility.ll
run-ir-passes.ll [llvm-reduce] Add delta pass to run IR passes 2022-08-12 10:38:19 -07:00
simplify-cfg.ll [test][llvm-reduce] Fix simplify-cfg.ll 2022-08-15 16:21:39 -07:00
simplify-instructions.ll llvm-reduce: Add reduction pass to simplify instructions 2022-06-16 20:39:27 -04:00
temporary-files-as-bitcode-split.ll [llvm-reduce] Try harder to not create invalid aliases 2022-08-12 10:39:05 -07:00
temporary-files-as-bitcode.ll [llvm-reduce] Try harder to not create invalid aliases 2022-08-12 10:39:05 -07:00