llvm-project/llvm/test/Transforms/Reassociate
Warren Ristow 230c8c56f2 [Reassociate] Cleanup minor missed optimizations
In analyzing issue #56483, it was noticed that running `opt` with
`-reassociate` was missing some minor optimizations. For example,
there were cases where the running `opt` on IR with floating-point
instructions that have the `fast` flags applied, sometimes resulted in
less efficient code than the input IR (things like dead instructions
left behind, and missed reassociations). These were sometimes noted
in the test-files with TODOs, to investigate further. This commit
fixes some of these problems, removing some TODOs in the process.

FTR, I refer to these as "minor" missed optimizations, because when
running a full clang/llvm compilation, these inefficiencies are not
happening, as other passes clean that residue up. Regardless, having
cleaner IR produced by `opt`, makes assessing the quality of fixes done
in `opt` easier.
2022-07-14 08:21:04 -07:00
..
2002-05-15-AgressiveSubMove.ll
2002-05-15-MissedTree.ll
2002-05-15-SubReassociate.ll
2002-07-09-DominanceProblem.ll
2003-08-12-InfiniteLoop.ll
2005-09-01-ArrayOutOfBounds.ll
2006-04-27-ReassociateVector.ll
2011-01-26-UseAfterFree.ll
2012-05-08-UndefLeak.ll
2012-06-08-InfiniteLoop.ll
2019-08-22-FNegAssert.ll
absorption.ll
add-like-or.ll [Reassociate] allow or->add with shl operands 2021-02-07 09:45:19 -05:00
add_across_block_crash.ll
basictest.ll
binop-identity.ll
canonicalize-neg-const.ll
commute.ll
crash.ll
crash2.ll [ConstantExpr] Don't create float binop expressions 2022-07-08 16:53:46 +02:00
cse-pairs.ll
deadcode.ll
erase_inst_made_change.ll [Local] Treat calls that may not return as being alive. 2021-01-23 16:05:14 +00:00
factorize-again.ll
fast-AgressiveSubMove.ll
fast-ArrayOutOfBounds.ll
fast-MissedTree.ll
fast-ReassociateVector.ll [Reassociate] Cleanup minor missed optimizations 2022-07-14 08:21:04 -07:00
fast-SubReassociate.ll
fast-basictest.ll [Reassociate] Cleanup minor missed optimizations 2022-07-14 08:21:04 -07:00
fast-fp-commute.ll
fast-mightymul.ll
fast-multistep.ll
fp-commute.ll
fp-expr.ll
infloop-deadphi.ll
inverses.ll
keep-debug-loc.ll
load-combine-like-or.ll [Reassociate] Don't convert add-like-or's into add's if they appear to be part of load-combining idiom 2020-11-18 17:55:02 +03:00
long-chains.ll
looptest.ll
matching-binops.ll
mightymul.ll
min_int.ll
mixed-fast-nonfast-fp.ll
mulfactor.ll
multistep.ll
negation.ll
negation1.ll
no-op.ll
optional-flags.ll
otherops.ll
pointer-collision-non-determinism.ll
pr12245.ll
pr21205.ll
pr28367.ll
pr42349.ll [Reassociate] Cleanup minor missed optimizations 2022-07-14 08:21:04 -07:00
propagate-flags.ll
reassoc-intermediate-fnegs.ll
reassociate-catchswitch.ll
reassociate-deadinst.ll
reassociate-landingpad.ll
reassociate_dbgvalue_discard.ll
reassociate_salvages_debug_info.ll
repeats.ll
secondary.ll
shift-factor.ll
shifttest.ll
subtest.ll
undef_intrinsics_when_deleting_instructions.ll Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
vaarg_movable.ll
wrap-flags.ll
xor_reassoc.ll