1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test
Alina Sbirlea 1542bebc55 [LoopPassManager + MemorySSA] Only enable use of MemorySSA for LPMs known to preserve it.
Summary:
Add a flag to the FunctionToLoopAdaptor that allows enabling MemorySSA only for the loop pass managers that are known to preserve it.

If an LPM is known to have only loop transforms that *all* preserve MemorySSA, then use MemorySSA if `EnableMSSALoopDependency` is set.
If an LPM has loop passes that do not preserve MemorySSA, then the flag passed is `false`, regardless of the value of `EnableMSSALoopDependency`.

When using a custom loop pass pipeline via `passes=...`, use keyword `loop` vs `loop-mssa` to use MemorySSA in that LPM. If a loop that does not preserve MemorySSA is added while using the `loop-mssa` keyword, that's an error.

Add the new `loop-mssa` keyword to a few tests where a difference occurs when enabling MemorySSA.

Reviewers: chandlerc

Subscribers: mehdi_amini, Prazek, george.burgess.iv, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66376

llvm-svn: 369548
2019-08-21 17:00:57 +00:00
..
Analysis [LoopPassManager + MemorySSA] Only enable use of MemorySSA for LPMs known to preserve it. 2019-08-21 17:00:57 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen GlobalISel: Implement moreElementsVector for G_UNMERGE_VALUES sources 2019-08-21 16:59:10 +00:00
DebugInfo Improving CodeView debug info type record's inline comments 2019-08-21 15:19:58 +00:00
Demangle
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO [MC] Don't emit .symver redirected symbols to the symbol table 2019-08-19 06:17:30 +00:00
MachineVerifier
MC [RISCV] Add support for RVC HINT instructions 2019-08-21 14:00:58 +00:00
Object [llvm-objdump] - Cleanup the error reporting. 2019-08-21 11:07:31 +00:00
ObjectYAML [yaml2obj/obj2yaml][MachO] Fix a test failure in big endian hosts 2019-08-20 09:58:31 +00:00
Other
Reduce
SafepointIRVerifier
Support
SymbolRewriter
TableGen Teach GlobalISelEmitter to treat used iPTRAny operands as pointer operands 2019-08-20 22:04:10 +00:00
ThinLTO/X86
tools [llvm-objdump] - Cleanup the error reporting. 2019-08-21 11:07:31 +00:00
Transforms [LoopPassManager + MemorySSA] Only enable use of MemorySSA for LPMs known to preserve it. 2019-08-21 17:00:57 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh