OSDN Git Service

Testcase for r279022
authorMatthias Braun <matze@braunis.de>
Thu, 18 Aug 2016 02:21:54 +0000 (02:21 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 18 Aug 2016 02:21:54 +0000 (02:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279031 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/taildup-crash.ll [new file with mode: 0644]

diff --git a/test/CodeGen/X86/taildup-crash.ll b/test/CodeGen/X86/taildup-crash.ll
new file mode 100644 (file)
index 0000000..aeee114
--- /dev/null
@@ -0,0 +1,24 @@
+; RUN: llc -o - %s | FileCheck %s
+target triple = "x86_64--"
+
+; Make sure we do not crash in tail duplication when finding no successor of a
+; block.
+; CHECK-LABEL: func:
+; CHECK: testb
+; CEHCK: je
+; CHECK: retq
+; CHECK: jmp
+define hidden void @func() {
+entry:
+  br i1 undef, label %for.cond.cleanup, label %while.cond.preheader
+
+while.cond.preheader:
+  br label %while.cond
+
+for.cond.cleanup:
+  ret void
+
+while.cond:
+  %cmp.i202 = icmp eq i8* undef, undef
+  br i1 %cmp.i202, label %while.cond.preheader, label %while.cond
+}