llvm-project/llvm/unittests/Transforms/Utils
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
..
ASanStackFrameLayoutTest.cpp
BasicBlockUtilsTest.cpp [SplitEdge] Update SplitCriticalEdge to return a nullptr only when the edge is not critical 2021-04-06 21:24:40 +00:00
CMakeLists.txt [ModuleUtils] NFC: Add unit tests for appendToUsedList 2021-05-04 12:05:50 +05:30
CallPromotionUtilsTest.cpp
CloningTest.cpp Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
CodeExtractorTest.cpp [CodeExtractor] Creating exit stubs based off original order branch instructions. 2021-09-08 15:15:15 -07:00
CodeMoverUtilsTest.cpp [CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied 2021-09-27 18:37:36 -04:00
DebugifyTest.cpp Recommit: "[Debugify][Original DI] Test dbg var loc preservation"" 2021-05-21 02:04:29 -07:00
FunctionComparatorTest.cpp
IntegerDivisionTest.cpp
LocalTest.cpp [InstSimplify] Don't assume parent function when simplifying llvm.vscale. 2021-07-29 20:08:08 +01:00
LoopRotationUtilsTest.cpp
LoopUtilsTest.cpp
ModuleUtilsTest.cpp [NFC][OpaquePtr] Use GlobalValue::getValueType() more 2021-07-09 09:55:41 -07:00
SSAUpdaterBulkTest.cpp
ScalarEvolutionExpanderTest.cpp [ScalarEvolution] Fix pointer/int type handling converting select/phi to min/max. 2021-06-17 14:05:12 -07:00
SizeOptsTest.cpp
UnrollLoopTest.cpp
VFABIUtils.cpp [NFC] Cleanup calls to CallBase::getAttribute() 2021-08-18 09:39:33 -07:00
ValueMapperTest.cpp ValueMapper: Rename RF_MoveDistinctMDs => RF_ReuseAndMutateDistinctMDs, NFC 2021-02-10 16:53:21 -08:00