[PATCH] D56625: [LICM/MSSA] Add promotion to scalars by building an AliasSetTracker with MemorySSA.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 11 17:07:29 PST 2019


asbirlea created this revision.
asbirlea added reviewers: sanjoy, chandlerc.
Herald added subscribers: jsji, jfb, george.burgess.iv, Prazek, jlebar, nemanjai.

Experimentally we found that promotion to scalars carries less benefits
than sinking and hoisting in LICM. When using MemorySSA, we build an
AliasSetTracker on demand in order to reuse the current infrastructure.
We only build it if less than AccessCapForMSSAPromotion exist in the
loop, a cap that is by default set to 250. This value ensures there are
no runtime regressions, and there are small compile time gains for
pathological cases. A much lower value (20) was found to yield a single
regression in the llvm-test-suite and much higher benefits for compile
times. Conservatively we set the current cap to a high value, but we will
explore lowering it when MemorySSA is enabled by default.


Repository:
  rL LLVM

https://reviews.llvm.org/D56625

Files:
  include/llvm/Analysis/AliasSetTracker.h
  include/llvm/Transforms/Utils/LoopUtils.h
  include/llvm/Transforms/Utils/SSAUpdater.h
  lib/Analysis/AliasSetTracker.cpp
  lib/Transforms/Instrumentation/InstrProfiling.cpp
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Utils/SSAUpdater.cpp
  test/CodeGen/PowerPC/pr35688.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56625.181399.patch
Type: text/x-patch
Size: 20543 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190112/aa9b484e/attachment.bin>


More information about the llvm-commits mailing list