summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2017-06-17 00:56:27 +0000
committerDavide Italiano <davide@freebsd.org>2017-06-17 00:56:27 +0000
commit9382c5560b35540e19f34a61121202126b319c4b (patch)
tree62dac32375566863c92e3d7f4af1f92caf7899b9 /llvm/test
parent8ca265f4a1a4ee4a875f4e2a19062127bb385b6a (diff)
downloadbcm5719-llvm-9382c5560b35540e19f34a61121202126b319c4b.tar.gz
bcm5719-llvm-9382c5560b35540e19f34a61121202126b319c4b.zip
[SelectionDAG] Update Loop info after splitting critical edges.
The analysis is expected to be preserved by SelectionDAG. llvm-svn: 305621
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/pr33396.ll27
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/pr33396.ll b/llvm/test/CodeGen/X86/pr33396.ll
new file mode 100644
index 00000000000..b2053a4ea33
--- /dev/null
+++ b/llvm/test/CodeGen/X86/pr33396.ll
@@ -0,0 +1,27 @@
+; Make sure we don't crash because we have stale loop infos.
+; REQUIRES: asserts
+; RUN: llc -o /dev/null -verify-loop-info %s
+
+target triple = "x86_64-unknown-linux-gnu"
+
+@global = external global [2 x i8], align 2
+@global.1 = external global [2 x i8], align 2
+
+define void @patatino(i8 %tinky) {
+bb:
+ br label %bb1
+
+bb1:
+ br i1 icmp ne (i8* getelementptr ([2 x i8], [2 x i8]* @global.1, i64 0, i64 1),
+ i8* getelementptr ([2 x i8], [2 x i8]* @global, i64 0, i64 1)), label %bb2, label %bb3
+
+bb2:
+ br label %bb3
+
+bb3:
+ %tmp = phi i32 [ 60, %bb2 ],
+ [ sdiv (i32 60, i32 zext (i1 icmp eq (i8* getelementptr ([2 x i8], [2 x i8]* @global.1, i64 0, i64 1),
+ i8* getelementptr ([2 x i8], [2 x i8]* @global, i64 0, i64 1)) to i32)), %bb1 ]
+ %tmp4 = icmp slt i8 %tinky, -4
+ br label %bb1
+}
OpenPOWER on IntegriCloud