summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/statepoint-stack-usage.ll
diff options
context:
space:
mode:
authorIgor Laevsky <igmyrj@gmail.com>2015-05-12 13:12:14 +0000
committerIgor Laevsky <igmyrj@gmail.com>2015-05-12 13:12:14 +0000
commit87ef5eaf469a70e73febbaad517082896e0f08cf (patch)
tree88467c239f8786ff90a7deb5a3121f37d5ae65b3 /llvm/test/CodeGen/X86/statepoint-stack-usage.ll
parent5c8f90b1add6831074efeccf67561d0ce62cb299 (diff)
downloadbcm5719-llvm-87ef5eaf469a70e73febbaad517082896e0f08cf.tar.gz
bcm5719-llvm-87ef5eaf469a70e73febbaad517082896e0f08cf.zip
Reverse ordering of base and derived pointer during safepoint lowering.
According to the documentation in StackMap section for the safepoint we should have: "The first Location in each pair describes the base pointer for the object. The second is the derived pointer actually being relocated." But before this change we emitted them in reverse order - derived pointer first, base pointer second. llvm-svn: 237126
Diffstat (limited to 'llvm/test/CodeGen/X86/statepoint-stack-usage.ll')
-rw-r--r--llvm/test/CodeGen/X86/statepoint-stack-usage.ll8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/statepoint-stack-usage.ll b/llvm/test/CodeGen/X86/statepoint-stack-usage.ll
index c40fabf71c3..7c472880638 100644
--- a/llvm/test/CodeGen/X86/statepoint-stack-usage.ll
+++ b/llvm/test/CodeGen/X86/statepoint-stack-usage.ll
@@ -11,8 +11,8 @@ target triple = "x86_64-pc-linux-gnu"
define i32 @back_to_back_calls(i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 addrspace(1)* %c) #1 gc "statepoint-example" {
; CHECK-LABEL: back_to_back_calls
; The exact stores don't matter, but there need to be three stack slots created
-; CHECK: movq %rdx, 16(%rsp)
-; CHECK: movq %rdi, 8(%rsp)
+; CHECK: movq %rdi, 16(%rsp)
+; CHECK: movq %rdx, 8(%rsp)
; CHECK: movq %rsi, (%rsp)
%safepoint_token = tail call i32 (void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(void ()* undef, i32 0, i32 0, i32 0, i32 5, i32 0, i32 -1, i32 0, i32 0, i32 0, i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 addrspace(1)* %c)
%a1 = tail call coldcc i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(i32 %safepoint_token, i32 10, i32 10)
@@ -34,8 +34,8 @@ define i32 @back_to_back_calls(i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 a
define i32 @reserve_first(i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 addrspace(1)* %c) #1 gc "statepoint-example" {
; CHECK-LABEL: reserve_first
; The exact stores don't matter, but there need to be three stack slots created
-; CHECK: movq %rdx, 16(%rsp)
-; CHECK: movq %rdi, 8(%rsp)
+; CHECK: movq %rdi, 16(%rsp)
+; CHECK: movq %rdx, 8(%rsp)
; CHECK: movq %rsi, (%rsp)
%safepoint_token = tail call i32 (void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(void ()* undef, i32 0, i32 0, i32 0, i32 5, i32 0, i32 -1, i32 0, i32 0, i32 0, i32 addrspace(1)* %a, i32 addrspace(1)* %b, i32 addrspace(1)* %c)
%a1 = tail call coldcc i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(i32 %safepoint_token, i32 10, i32 10)
OpenPOWER on IntegriCloud