diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-07-11 07:18:52 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-07-11 07:18:52 +0000 |
commit | 71ca353ae686ce9249eb333a48f12c1e4d47a319 (patch) | |
tree | 6a021684acf671671866acb72a8fcb2fe705ff7f /test | |
parent | d01bee71705d11078b7db19a8e56503b974c8899 (diff) | |
download | external_llvm-71ca353ae686ce9249eb333a48f12c1e4d47a319.zip external_llvm-71ca353ae686ce9249eb333a48f12c1e4d47a319.tar.gz external_llvm-71ca353ae686ce9249eb333a48f12c1e4d47a319.tar.bz2 |
The frame address on an x86-64 box needs to be offset by -8, not -4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53450 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/x86-64-frameaddr.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/X86/x86-64-frameaddr.ll b/test/CodeGen/X86/x86-64-frameaddr.ll new file mode 100644 index 0000000..86a238f --- /dev/null +++ b/test/CodeGen/X86/x86-64-frameaddr.ll @@ -0,0 +1,11 @@ +; 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" + +define internal i64* @stack_end_address() nounwind { +entry: + tail call i8* @llvm.frameaddress( i32 0 ) + bitcast i8* %0 to i64* + ret i64* %1 +} + +declare i8* @llvm.frameaddress(i32) nounwind readnone |