diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-02-01 00:39:08 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-02-01 00:39:08 +0000 |
| commit | f7937005a3c8ae09aac8bc51175b1686ee8f69f6 (patch) | |
| tree | 50c2972795f03fc58fabcd4ee0ad7d3533b6d174 /llvm/lib/Target | |
| parent | 667ff4832ef1bc69f164523ab63e8fb713c9f8db (diff) | |
| download | bcm5719-llvm-f7937005a3c8ae09aac8bc51175b1686ee8f69f6.tar.gz bcm5719-llvm-f7937005a3c8ae09aac8bc51175b1686ee8f69f6.zip | |
Fix CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll
llvm-svn: 33732
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index efd6d10c336..c3ae5c8bbf0 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -436,7 +436,10 @@ bool PPCAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, const char *ExtraCode) { if (ExtraCode && ExtraCode[0]) return true; // Unknown modifier. - printMemRegReg(MI, OpNo); + if (MI->getOperand(OpNo).isRegister()) + printMemRegReg(MI, OpNo); + else + printMemRegImm(MI, OpNo); return false; } diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp index 4324b9d598e..fb80350c557 100644 --- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -522,6 +522,9 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II) const { } // Take into account whether it's an add or mem instruction unsigned OffIdx = (i == 2) ? 1 : 2; + if (MI.getOpcode() == TargetInstrInfo::INLINEASM) + OffIdx = i-1; + // Get the frame index. int FrameIndex = MI.getOperand(i).getFrameIndex(); |

