[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