summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll16
-rw-r--r--llvm/test/CodeGen/X86/x86-64-frameaddr.ll5
-rw-r--r--llvm/test/CodeGen/X86/x86-frameaddr.ll1
-rw-r--r--llvm/test/CodeGen/X86/x86-frameaddr2.ll1
4 files changed, 18 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll b/llvm/test/CodeGen/X86/2008-09-26-FrameAddrBug.ll
new file mode 100644
index 00000000000..b1f5ab59071
--- /dev/null
+++ b/llvm/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
+}
diff --git a/llvm/test/CodeGen/X86/x86-64-frameaddr.ll b/llvm/test/CodeGen/X86/x86-64-frameaddr.ll
index 86a238f6ab5..80060996f32 100644
--- a/llvm/test/CodeGen/X86/x86-64-frameaddr.ll
+++ b/llvm/test/CodeGen/X86/x86-64-frameaddr.ll
@@ -1,7 +1,6 @@
-; RUN: llvm-as < %s | llc -march=x86-64 | grep {leaq -8(%rsp), %rax}
-@llvm.noinline = appending global [1 x i8*] [ i8* bitcast (i64* ()* @stack_end_address to i8*) ], section "llvm.metadata"
+; RUN: llvm-as < %s | llc -march=x86-64 | grep movq | grep rbp
-define internal i64* @stack_end_address() nounwind {
+define i64* @stack_end_address() nounwind {
entry:
tail call i8* @llvm.frameaddress( i32 0 )
bitcast i8* %0 to i64*
diff --git a/llvm/test/CodeGen/X86/x86-frameaddr.ll b/llvm/test/CodeGen/X86/x86-frameaddr.ll
index 0707d92d098..b9d6d13880b 100644
--- a/llvm/test/CodeGen/X86/x86-frameaddr.ll
+++ b/llvm/test/CodeGen/X86/x86-frameaddr.ll
@@ -1,5 +1,4 @@
; RUN: llvm-as < %s | llc -march=x86 | grep mov | grep ebp
-; XFAIL: *
define i8* @t() nounwind {
entry:
diff --git a/llvm/test/CodeGen/X86/x86-frameaddr2.ll b/llvm/test/CodeGen/X86/x86-frameaddr2.ll
index bcb87c549b7..f50ab072c33 100644
--- a/llvm/test/CodeGen/X86/x86-frameaddr2.ll
+++ b/llvm/test/CodeGen/X86/x86-frameaddr2.ll
@@ -1,5 +1,4 @@
; RUN: llvm-as < %s | llc -march=x86 | grep mov | count 3
-; XFAIL: *
define i8* @t() nounwind {
entry:
OpenPOWER on IntegriCloud