[llvm] r267017 - [PowerPC] [SSP] Fix stack guard load for 32-bit.
Marcin Koscielnicki via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 21 10:36:05 PDT 2016
Author: koriakin
Date: Thu Apr 21 12:36:05 2016
New Revision: 267017
URL: http://llvm.org/viewvc/llvm-project?rev=267017&view=rev
Log:
[PowerPC] [SSP] Fix stack guard load for 32-bit.
r266809 incorrectly used LD to load the stack guard, it should be LWZ.
Differential Revision: http://reviews.llvm.org/D19358
Modified:
llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp
llvm/trunk/test/CodeGen/PowerPC/stack-protector.ll
Modified: llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp?rev=267017&r1=267016&r2=267017&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.cpp Thu Apr 21 12:36:05 2016
@@ -1864,7 +1864,7 @@ bool PPCInstrInfo::expandPostRAPseudo(Ma
"Only Linux target is expected to contain LOAD_STACK_GUARD");
const int64_t Offset = Subtarget.isPPC64() ? -0x7010 : -0x7008;
const unsigned Reg = Subtarget.isPPC64() ? PPC::X13 : PPC::R2;
- MI->setDesc(get(PPC::LD));
+ MI->setDesc(get(Subtarget.isPPC64() ? PPC::LD : PPC::LWZ));
MachineInstrBuilder(*MI->getParent()->getParent(), MI)
.addImm(Offset)
.addReg(Reg);
Modified: llvm/trunk/test/CodeGen/PowerPC/stack-protector.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/stack-protector.ll?rev=267017&r1=267016&r2=267017&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/stack-protector.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/stack-protector.ll Thu Apr 21 12:36:05 2016
@@ -5,7 +5,7 @@
; DARWIN32: __stack_chk_guard
; DARWIN64: __stack_chk_guard
-; LINUX32: ld {{[0-9]+}}, -28680(2)
+; LINUX32: lwz {{[0-9]+}}, -28680(2)
; LINUX64: ld {{[0-9]+}}, -28688(13)
; DARWIN32: __stack_chk_fail
More information about the llvm-commits
mailing list