summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SCCP/int-phis.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/SCCP/int-phis.ll')
-rw-r--r--llvm/test/Transforms/SCCP/int-phis.ll61
1 files changed, 61 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SCCP/int-phis.ll b/llvm/test/Transforms/SCCP/int-phis.ll
new file mode 100644
index 00000000000..64dddeb2d6b
--- /dev/null
+++ b/llvm/test/Transforms/SCCP/int-phis.ll
@@ -0,0 +1,61 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt < %s -sccp -S | FileCheck %s
+
+declare void @use(i1)
+
+define void @read_dmatrix() #0 {
+; CHECK-LABEL: @read_dmatrix(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[HEIGHT:%.*]] = alloca i32, align 4
+; CHECK-NEXT: br label [[FOR_COND:%.*]]
+; CHECK: for.cond:
+; CHECK-NEXT: [[TMP0:%.*]] = load i32, i32* [[HEIGHT]], align 4
+; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 0, [[TMP0]]
+; CHECK-NEXT: br i1 [[CMP]], label [[FOR_COND6:%.*]], label [[FOR_END16:%.*]]
+; CHECK: for.cond6:
+; CHECK-NEXT: br label [[FOR_COND]]
+; CHECK: for.end16:
+; CHECK-NEXT: ret void
+;
+entry:
+ %height = alloca i32, align 4
+ br label %for.cond
+
+for.cond: ; preds = %for.cond6, %entry
+ %j.0 = phi i32 [ undef, %entry ], [ 0, %for.cond6 ]
+ %0 = load i32, i32* %height, align 4
+ %cmp = icmp slt i32 0, %0
+ br i1 %cmp, label %for.cond6, label %for.end16
+
+for.cond6: ; preds = %for.cond
+ br label %for.cond
+
+for.end16: ; preds = %for.cond
+ %sub21 = sub nsw i32 %j.0, 1
+ ret void
+}
+
+declare i1 @cond()
+
+define void @emptyTT() #0 {
+; CHECK-LABEL: @emptyTT(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: br label [[FOR_COND:%.*]]
+; CHECK: for.cond:
+; CHECK-NEXT: [[C:%.*]] = call i1 @cond()
+; CHECK-NEXT: br i1 [[C]], label [[FOR_COND]], label [[EXIT:%.*]]
+; CHECK: exit:
+; CHECK-NEXT: ret void
+;
+entry:
+ br label %for.cond
+
+for.cond: ; preds = %for.cond, %entry
+ %.compoundliteral.sroa.0.0 = phi i64 [ undef, %entry ], [ 0, %for.cond ]
+ %bf.clear = and i64 %.compoundliteral.sroa.0.0, -67108864
+ %c = call i1 @cond()
+ br i1 %c, label %for.cond, label %exit
+
+exit:
+ ret void
+}
OpenPOWER on IntegriCloud