[PATCH] D65614: [Reassociate] Stop linearizing all associative expression trees w/o profitability
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 2 10:48:35 PDT 2019
reames updated this revision to Diff 213086.
reames added a comment.
Herald added a subscriber: mgrang.
POC fix for the CSE pointed out in review. This isn't a "real" patch yet, more of a hint as to a possible direction. I'm fairly sure we *could* make this sufficiently fast if we want to move in this direction by memoizing expression trees.
I'm more interested in feedback on the approach. I have to admit I hadn't realized the CSE impact when first proposing this. Even with a GVN fix, this will still harm local CSE (in various passes) and EarlyCSE. Is that too high an impact?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65614/new/
https://reviews.llvm.org/D65614
Files:
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/Reassociate.cpp
test/Transforms/Reassociate/2002-05-15-MissedTree.ll
test/Transforms/Reassociate/2002-05-15-SubReassociate.ll
test/Transforms/Reassociate/basictest.ll
test/Transforms/Reassociate/canonicalize-neg-const.ll
test/Transforms/Reassociate/commute.ll
test/Transforms/Reassociate/factorize-again.ll
test/Transforms/Reassociate/fast-ReassociateVector.ll
test/Transforms/Reassociate/fast-SubReassociate.ll
test/Transforms/Reassociate/fast-basictest.ll
test/Transforms/Reassociate/fast-fp-commute.ll
test/Transforms/Reassociate/fast-multistep.ll
test/Transforms/Reassociate/looptest.ll
test/Transforms/Reassociate/matching-binops.ll
test/Transforms/Reassociate/mixed-fast-nonfast-fp.ll
test/Transforms/Reassociate/mulfactor.ll
test/Transforms/Reassociate/multistep.ll
test/Transforms/Reassociate/no-op.ll
test/Transforms/Reassociate/optional-flags.ll
test/Transforms/Reassociate/pointer-collision-non-determinism.ll
test/Transforms/Reassociate/propagate-flags.ll
test/Transforms/Reassociate/reassociate_dbgvalue_discard.ll
test/Transforms/Reassociate/shift-factor.ll
test/Transforms/Reassociate/vaarg_movable.ll
test/Transforms/Reassociate/wrap-flags.ll
test/Transforms/Reassociate/xor_reassoc.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65614.213086.patch
Type: text/x-patch
Size: 56556 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190802/e21f250f/attachment-0001.bin>
More information about the llvm-commits
mailing list