aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/asm-label.ll
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-06-12 05:35:39 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-06-12 05:35:39 +0000
commitc1e903ceb3cfc3a091a8d3c0fd9ec7243f36584c (patch)
tree61a31d1cf13ff7cd24f46b9e12f74f009cec6737 /test/CodeGen/X86/asm-label.ll
parent571e20fc50fc20cf612c7b928f7b49a3c41e078a (diff)
downloadexternal_llvm-c1e903ceb3cfc3a091a8d3c0fd9ec7243f36584c.zip
external_llvm-c1e903ceb3cfc3a091a8d3c0fd9ec7243f36584c.tar.gz
external_llvm-c1e903ceb3cfc3a091a8d3c0fd9ec7243f36584c.tar.bz2
Test for the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132884 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/asm-label.ll')
-rw-r--r--test/CodeGen/X86/asm-label.ll40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/CodeGen/X86/asm-label.ll b/test/CodeGen/X86/asm-label.ll
new file mode 100644
index 0000000..0c227b1
--- /dev/null
+++ b/test/CodeGen/X86/asm-label.ll
@@ -0,0 +1,40 @@
+; RUN: llc -O0 < %s | FileCheck %s
+
+; test that we print a label that we use. We had a bug where
+; we would print the jump, but not the label because it was considered
+; a fall through.
+
+; CHECK: jmp LBB0_9
+; CHECK: LBB0_9: ## %cleanup
+
+define void @foo() {
+entry:
+ br i1 undef, label %land.lhs.true, label %if.end11
+
+land.lhs.true: ; preds = %entry
+ br i1 undef, label %if.then, label %if.end11
+
+if.then: ; preds = %land.lhs.true
+ br i1 undef, label %if.then9, label %if.end
+
+if.then9: ; preds = %if.then
+ br label %cleanup
+
+if.end: ; preds = %if.then
+ br label %cleanup
+
+cleanup: ; preds = %if.end, %if.then9
+ switch i32 undef, label %unreachable [
+ i32 0, label %cleanup.cont
+ i32 1, label %if.end11
+ ]
+
+cleanup.cont: ; preds = %cleanup
+ br label %if.end11
+
+if.end11: ; preds = %cleanup.cont, %cleanup, %land.lhs.true, %entry
+ ret void
+
+unreachable: ; preds = %cleanup
+ unreachable
+}