make sure to safe LR8 in the right stack slot for PPC64

llvm-svn: 31839
This commit is contained in:
Chris Lattner 2006-11-18 01:34:43 +00:00
parent 9ca15c8914
commit 572e238c14
2 changed files with 8 additions and 3 deletions

View File

@ -26,8 +26,13 @@ class PPCFrameInfo: public TargetFrameInfo {
public:
PPCFrameInfo(const TargetMachine &tm, bool LP64)
: TargetFrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0), TM(tm) {
LR[0].first = PPC::LR;
LR[0].second = LP64 ? 16 : 8;
if (LP64) {
LR[0].first = PPC::LR8;
LR[0].second = 16;
} else {
LR[0].first = PPC::LR;
LR[0].second = 8;
}
}
const std::pair<unsigned, int> *

View File

@ -83,7 +83,7 @@ PPCTargetMachine::PPCTargetMachine(const Module &M, const std::string &FS,
bool is64Bit)
: Subtarget(M, FS, is64Bit),
DataLayout(Subtarget.getTargetDataString()), InstrInfo(*this),
FrameInfo(*this, false), JITInfo(*this, is64Bit), TLInfo(*this),
FrameInfo(*this, is64Bit), JITInfo(*this, is64Bit), TLInfo(*this),
InstrItins(Subtarget.getInstrItineraryData()) {
if (getRelocationModel() == Reloc::Default)