diff options
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-28 18:21:03 +0000 |
---|---|---|
committer | Ulrich Weigand <ulrich.weigand@de.ibm.com> | 2012-11-28 18:21:03 +0000 |
commit | 9e159fd7a02e3744f17c792a49dc440c4159be0f (patch) | |
tree | 533cb39837e907139d7b618161bbac693a0b5063 /llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | |
parent | 53f7e129091643944d484017105fa906613e42c0 (diff) | |
download | bcm5719-llvm-9e159fd7a02e3744f17c792a49dc440c4159be0f.tar.gz bcm5719-llvm-9e159fd7a02e3744f17c792a49dc440c4159be0f.zip |
Fix initial frame state on powerpc64.
The createPPCMCAsmInfo routine used PPC::R1 as the initial frame
pointer register, but on PPC64 the 32-bit R1 register does not
have a corresponding DWARF number, causing invalid CIE initial
frame state to be emitted. Fix by using PPC::X1 instead.
llvm-svn: 168799
Diffstat (limited to 'llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp index 29faca34000..4d914aa1106 100644 --- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp +++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp @@ -70,7 +70,7 @@ static MCAsmInfo *createPPCMCAsmInfo(const Target &T, StringRef TT) { // Initial state of the frame pointer is R1. MachineLocation Dst(MachineLocation::VirtualFP); - MachineLocation Src(PPC::R1, 0); + MachineLocation Src(isPPC64? PPC::X1 : PPC::R1, 0); MAI->addInitialFrameState(0, Dst, Src); return MAI; |