[llvm] r338670 - [LICM] Expand tests to highlight an oddity in sinking implementation
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 1 20:54:29 PDT 2018
Author: reames
Date: Wed Aug 1 20:54:29 2018
New Revision: 338670
URL: http://llvm.org/viewvc/llvm-project?rev=338670&view=rev
Log:
[LICM] Expand tests to highlight an oddity in sinking implementation
Modified:
llvm/trunk/test/Transforms/LICM/sinking.ll
Modified: llvm/trunk/test/Transforms/LICM/sinking.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LICM/sinking.ll?rev=338670&r1=338669&r2=338670&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/LICM/sinking.ll (original)
+++ llvm/trunk/test/Transforms/LICM/sinking.ll Wed Aug 1 20:54:29 2018
@@ -40,6 +40,39 @@ Out: ; preds = %Loop
; CHECK-NEXT: ret double %A
}
+; FIXME: Should be able to sink this case
+define i32 @test2b(i32 %X) {
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ call void @foo( )
+ %A = sdiv i32 10, %X
+ br i1 true, label %Loop, label %Out
+
+Out: ; preds = %Loop
+ ret i32 %A
+; CHECK-LABEL: @test2b(
+; CHECK: Out:
+; CHECK-NOT: sdiv
+; CHECK: ret i32 %A.lcssa
+}
+
+define double @test2c(double* %P) {
+ br label %Loop
+
+Loop: ; preds = %Loop, %0
+ call void @foo( )
+ %A = load double, double* %P, !invariant.load !{}
+ br i1 true, label %Loop, label %Out
+
+Out: ; preds = %Loop
+ ret double %A
+; CHECK-LABEL: @test2c(
+; CHECK: Out:
+; CHECK-NEXT: load double
+; CHECK-NEXT: ret double %A
+}
+
; This testcase checks to make sure the sinker does not cause problems with
; critical edges.
define void @test3() {
More information about the llvm-commits
mailing list