diff --git a/test/CodeGen/X86/taildup-crash.ll b/test/CodeGen/X86/taildup-crash.ll new file mode 100644 index 000000000000..aeee114adb5b --- /dev/null +++ b/test/CodeGen/X86/taildup-crash.ll @@ -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 +}