[PATCH] D40375: Use MemorySSA in LICM to do sinking and hoisting.
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 24 03:46:07 PST 2018
lebedev.ri added inline comments.
================
Comment at: test/Transforms/LICM/sinking.ll:318
-; Can't sink stores out of exit blocks containing indirectbr instructions
-; because loop simplify does not create dedicated exits for such blocks. Test
-; that by sinking the store from lab21 to lab22, but not further.
-define void @test12() {
-; CHECK-LABEL: @test12
- br label %lab4
-
-lab4:
- br label %lab20
-
-lab5:
- br label %lab20
-
-lab6:
- br label %lab4
-
-lab7:
- br i1 undef, label %lab8, label %lab13
-
-lab8:
- br i1 undef, label %lab13, label %lab10
-
-lab10:
- br label %lab7
-
-lab13:
- ret void
-
-lab20:
- br label %lab21
-
-lab21:
-; CHECK: lab21:
-; CHECK-NOT: store
-; CHECK: br i1 false, label %lab21, label %lab22
- store i32 36127957, i32* undef, align 4
- br i1 undef, label %lab21, label %lab22
-
-lab22:
-; CHECK: lab22:
-; CHECK: store
-; CHECK-NEXT: indirectbr i8* undef
- indirectbr i8* undef, [label %lab5, label %lab6, label %lab7]
-}
+; @test12 moved to sink-promote.ll, as it tests sinking and promotion.
----------------
But there is no `sink-promote.ll` in this differential?
Is that in some other patch?
Repository:
rL LLVM
https://reviews.llvm.org/D40375
More information about the llvm-commits
mailing list