llvm-project/llvm/unittests/Transforms
Congzhe Cao c42772752a [CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied
With improved analysis in determining CFG equivalence that does
not require strict dominance and post-dominance conditions, we
now relax  isSafeToMoveBefore() such that an instruction I can
be moved before InsertPoint even if they do not strictly dominate
each other, as long as they follow the same control flow path.

For example,  we can move Instruction 0 before Instruction 1,
and vice versa.

```
if (cond1)
   // Instruction 0: %add = add i32 1, 2
if (cond1)
   // Instruction 1: %add2 = add i32 2, 1
```

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D110456
2021-09-27 18:37:36 -04:00
..
IPO [Attributor] AAFunctionReachability, Handle CallBase Reachability. 2021-09-13 01:35:44 +03:00
Scalar [LICM] Remove AST-based implementation 2021-08-18 20:21:53 +02:00
Utils [CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied 2021-09-27 18:37:36 -04:00
Vectorize [VPlan] Add mayReadOrWriteMemory & friends. 2021-05-24 13:11:32 +01:00
CMakeLists.txt