llvm-project/llvm/lib/Transforms
Florian Hahn f3fea0f11f [LoopInterchange] Allow some loops with PHI nodes in the exit block.
We currently support LCSSA PHI nodes in the outer loop exit, if their
incoming values do not come from the outer loop latch or if the
outer loop latch has a single predecessor. In that case, the outer loop latch
will be executed only if the inner loop gets executed. If we have multiple
predecessors for the outer loop latch, it may be executed even if the inner
loop does not get executed.

This is a first step to support the case described in
https://bugs.llvm.org/show_bug.cgi?id=30472

Reviewers: efriedma, karthikthecool, mcrosier

Reviewed By: efriedma

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

llvm-svn: 331037
2018-04-27 13:52:51 +00:00
..
AggressiveInstCombine Fix some layering in AggressiveInstCombine (avoiding inclusion of Scalar.h) 2018-04-24 15:40:07 +00:00
Coroutines [Transforms] Change std::sort to llvm::sort in response to r327219 2018-04-13 19:47:57 +00:00
Hello
IPO [LowerTypeTests] Mark .cfi.jumptable nounwind. 2018-04-27 00:32:24 +00:00
InstCombine [InstCombine] Simplify Add with remainder expressions as operands. 2018-04-26 20:52:28 +00:00
Instrumentation [HWASan] Use dynamic shadow memory on Android only (LLVM) 2018-04-24 00:16:54 +00:00
ObjCARC [ObjCARC] Take BlockColors by const reference. NFC 2018-04-20 22:14:45 +00:00
Scalar [LoopInterchange] Allow some loops with PHI nodes in the exit block. 2018-04-27 13:52:51 +00:00
Utils Revert "[SimplifyLibcalls] Replace locked IO with unlocked IO" 2018-04-27 01:48:09 +00:00
Vectorize [LV][VPlan] Detect outer loops for explicit vectorization. 2018-04-24 17:04:17 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00