summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-09-27 01:56:22 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-09-27 01:56:22 +0000
commit184793fc8a9cf6ecc9147468bbcc068f472b8517 (patch)
tree8a3fb921e6c50ca0cd6c77e2ce1c1ce7d6171514 /test/CodeGen/X86/2008-09-26-FrameAddrBug.ll
parent85263907681d21094cab75547cf4a5f538703fcc (diff)
Re-apply 56683 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56748 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2008-09-26-FrameAddrBug.ll')
-rw-r--r--test/CodeGen/X86/2008-09-26-FrameAddrBug.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll b/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll
new file mode 100644
index 00000000000..b1f5ab59071
--- /dev/null
+++ b/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll
@@ -0,0 +1,16 @@
+; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9
+
+ %struct._Unwind_Context = type { [18 x i8*], i8*, i8*, i8*, %struct.dwarf_eh_bases, i32, i32, i32, [18 x i8] }
+ %struct._Unwind_Exception = type { i64, void (i32, %struct._Unwind_Exception*)*, i32, i32, [3 x i32] }
+ %struct.dwarf_eh_bases = type { i8*, i8*, i8* }
+
+declare fastcc void @uw_init_context_1(%struct._Unwind_Context*, i8*, i8*)
+
+declare i8* @llvm.eh.dwarf.cfa(i32) nounwind
+
+define hidden void @_Unwind_Resume(%struct._Unwind_Exception* %exc) noreturn noreturn {
+entry:
+ %0 = call i8* @llvm.eh.dwarf.cfa(i32 0) ; <i8*> [#uses=1]
+ call fastcc void @uw_init_context_1(%struct._Unwind_Context* null, i8* %0, i8* null)
+ unreachable
+}