summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Util
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2014-08-13 20:31:53 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2014-08-13 20:31:53 +0000
commit0cd3ec6cfa8c191efb4d6b517bc0b251107b54e7 (patch)
treeb3509a454761ad3ce52f1231c3200567994542e9 /llvm/test/Transforms/Util
parent5a956d49f7515694a1b3777e2b372e11e9ff0198 (diff)
downloadbcm5719-llvm-0cd3ec6cfa8c191efb4d6b517bc0b251107b54e7.tar.gz
bcm5719-llvm-0cd3ec6cfa8c191efb4d6b517bc0b251107b54e7.zip
utils: Fix segfault in flattencfg
v2: continue iterating through the rest of the bb use for loop v3: initialize FlattenCFG pass in ScalarOps add test v4: split off initializing flattencfg to a separate patch add comment Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 215574
Diffstat (limited to 'llvm/test/Transforms/Util')
-rw-r--r--llvm/test/Transforms/Util/flattencfg.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/Transforms/Util/flattencfg.ll b/llvm/test/Transforms/Util/flattencfg.ll
new file mode 100644
index 00000000000..4fcb77ab023
--- /dev/null
+++ b/llvm/test/Transforms/Util/flattencfg.ll
@@ -0,0 +1,26 @@
+; RUN: opt -flattencfg -S < %s | FileCheck %s
+
+
+; This test checks whether the pass completes without a crash.
+; The code is not transformed in any way
+;
+; CHECK-LABEL: @test_not_crash
+define void @test_not_crash(i32 %in_a) #0 {
+entry:
+ %cmp0 = icmp eq i32 %in_a, -1
+ %cmp1 = icmp ne i32 %in_a, 0
+ %cond0 = and i1 %cmp0, %cmp1
+ br i1 %cond0, label %b0, label %b1
+
+b0: ; preds = %entry
+ %cmp2 = icmp eq i32 %in_a, 0
+ %cmp3 = icmp ne i32 %in_a, 1
+ %cond1 = or i1 %cmp2, %cmp3
+ br i1 %cond1, label %exit, label %b1
+
+b1: ; preds = %entry, %b0
+ br label %exit
+
+exit: ; preds = %entry, %b0, %b1
+ ret void
+}
OpenPOWER on IntegriCloud