[PATCH] D58311: [MemorySSA & LoopPassManager] Enable MemorySSA as loop dependency. Update tests.

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 15 15:34:31 PST 2019


asbirlea created this revision.
asbirlea added reviewers: chandlerc, george.burgess.iv, davide, sanjoy, gberry.
Herald added subscribers: jdoerfert, dmgreen, Prazek, jlebar.
Herald added a project: LLVM.

I'm not planning to check this in at the moment, but feedback is very welcome, in particular how this affects performance.
The feedback obtains here will guide the next steps towards enabling this.

This patch enables the use of MemorySSA in the loop pass manager.

Passes that currently use MemorySSA:

- EarlyCSE

Passes that use MemorySSA after this patch:

- EarlyCSE
- LICM
- SimpleLoopUnswitch

Loop passes that update MemorySSA (and do not use it yet, but could use it after this patch):

- LoopInstSimplify
- LoopSimplifyCFG
- LoopUnswitch
- LoopRotate

Loop passes that do *not* update MemorySSA:

- IndVarSimplify
- LoopDelete
- LoopIdiom
- LoopSink
- LoopUnroll
- LoopInterchange
- LoopUnrollAndJam
- LoopVectorize
- LoopReroll
- IRCE

Function passes that may be desirable to update MemorySSA:

- LoopSimplify
- LCSSA


Repository:
  rL LLVM

https://reviews.llvm.org/D58311

Files:
  lib/Analysis/LoopAnalysisManager.cpp
  lib/Transforms/Utils/LoopUtils.cpp
  test/Analysis/BasicAA/store-promote.ll
  test/Other/loop-pm-invalidation.ll
  test/Other/new-pass-manager.ll
  test/Other/opt-O2-pipeline.ll
  test/Other/opt-O3-pipeline.ll
  test/Other/opt-Os-pipeline.ll
  test/Other/opt-hot-cold-split.ll
  test/Transforms/LICM/argmemonly-call.ll
  test/Transforms/LICM/atomics.ll
  test/Transforms/LICM/funclet.ll
  test/Transforms/LICM/guards.ll
  test/Transforms/LICM/hoist-debuginvariant.ll
  test/Transforms/LICM/promote-order.ll
  test/Transforms/LICM/read-only-calls.ll
  test/Transforms/LICM/store-hoisting.ll
  test/Transforms/LoopRotate/pr35210.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58311.187102.patch
Type: text/x-patch
Size: 37914 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190215/b56c8e70/attachment.bin>


More information about the llvm-commits mailing list