diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-07-21 20:44:43 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-07-21 20:44:43 +0000 |
commit | 2497e6391f8df05926fe17b5cf08dad61c4797d2 (patch) | |
tree | fcd77e313058c02770557562cfd34229137702bc /lib/Target/PowerPC/PPC32ISelSimple.cpp | |
parent | 2130c0893041718f6d5c2bf3df4ba0ddce9adb08 (diff) |
Support building non-PIC
Remove the LoadHiAddr pseudo-instruction.
Optimization of stores to and loads from statics.
Force JIT to use new non-PIC codepaths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22494 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPC32ISelSimple.cpp')
-rw-r--r-- | lib/Target/PowerPC/PPC32ISelSimple.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/PPC32ISelSimple.cpp b/lib/Target/PowerPC/PPC32ISelSimple.cpp index 065262c10d..aabee95249 100644 --- a/lib/Target/PowerPC/PPC32ISelSimple.cpp +++ b/lib/Target/PowerPC/PPC32ISelSimple.cpp @@ -685,7 +685,7 @@ void PPC32ISel::copyConstantToRegister(MachineBasicBlock *MBB, unsigned Reg1 = makeAnotherReg(Type::IntTy); unsigned Opcode = (Ty == Type::FloatTy) ? PPC::LFS : PPC::LFD; // Move value at base + distance into return reg - BuildMI(*MBB, IP, PPC::LOADHiAddr, 2, Reg1) + BuildMI(*MBB, IP, PPC::ADDIS, 2, Reg1) .addReg(getGlobalBaseReg()).addConstantPoolIndex(CPI); BuildMI(*MBB, IP, Opcode, 2, R).addConstantPoolIndex(CPI).addReg(Reg1); } else if (isa<ConstantPointerNull>(C)) { @@ -696,7 +696,7 @@ void PPC32ISel::copyConstantToRegister(MachineBasicBlock *MBB, unsigned TmpReg = makeAnotherReg(GV->getType()); // Move value at base + distance into return reg - BuildMI(*MBB, IP, PPC::LOADHiAddr, 2, TmpReg) + BuildMI(*MBB, IP, PPC::ADDIS, 2, TmpReg) .addReg(getGlobalBaseReg()).addGlobalAddress(GV); if (GV->hasWeakLinkage() || GV->isExternal()) { |