summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/ppc32-pic-large.ll
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-09-06 12:30:00 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-09-06 12:30:00 +0000
commit6ee91ac76e224c35d77f69771937c61245dccb0c (patch)
tree09ed386c177be691e223799be6b5fff0e426ec0e /test/CodeGen/PowerPC/ppc32-pic-large.ll
parentd9478f860586f5b390a868fedb8bfc1d0ae2c16c (diff)
[PPC] Claim stack frame before storing into it, if no red zone is present
Unlike PPC64, PPC32/SVRV4 does not have red zone. In the absence of it there is no guarantee that this part of the stack will not be modified by any interrupt. To avoid this, make sure to claim the stack frame first before storing into it. This fixes https://llvm.org/bugs/show_bug.cgi?id=26519. Differential Revision: https://reviews.llvm.org/D24093 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280705 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/ppc32-pic-large.ll')
-rw-r--r--test/CodeGen/PowerPC/ppc32-pic-large.ll3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/CodeGen/PowerPC/ppc32-pic-large.ll b/test/CodeGen/PowerPC/ppc32-pic-large.ll
index bc1d0a58284..dbfbc1c5ab5 100644
--- a/test/CodeGen/PowerPC/ppc32-pic-large.ll
+++ b/test/CodeGen/PowerPC/ppc32-pic-large.ll
@@ -15,7 +15,8 @@ entry:
; LARGE-BSS: [[POFF:\.L[0-9]+\$poff]]:
; LARGE-BSS-NEXT: .long .LTOC-[[PB:\.L[0-9]+\$pb]]
; LARGE-BSS-NEXT: foo:
-; LARGE-BSS: stw 30, -8(1)
+; LARGE-BSS: stwu 1, -32(1)
+; LARGE-BSS: stw 30, 24(1)
; LARGE-BSS: bl [[PB]]
; LARGE-BSS-NEXT: [[PB]]:
; LARGE-BSS: mflr 30