1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00

Remove unnecessary and non-deterministic checking code. Re-enable remat of load from gv stub.

llvm-svn: 49054
This commit is contained in:
Evan Cheng 2008-04-01 21:38:20 +00:00
parent 44cdd4272c
commit 5c98bdbc4f

View File

@ -752,10 +752,7 @@ static bool regIsPICBase(unsigned BaseReg, MachineRegisterInfo &MRI) {
/// isGVStub - Return true if the GV requires an extra load to get the
/// real address.
static inline bool isGVStub(GlobalValue *GV, X86TargetMachine &TM) {
return false;
/* Temporarily disabled.
return TM.getSubtarget<X86Subtarget>().GVRequiresExtraLoad(GV, TM, false);
*/
}
bool X86InstrInfo::isReallyTriviallyReMaterializable(MachineInstr *MI) const {
@ -1828,15 +1825,7 @@ X86InstrInfo::foldMemoryOperand(MachineInstr *MI, unsigned i,
MI->getOperand(0).getReg() == MI->getOperand(1).getReg()) {
OpcodeTablePtr = &RegOp2MemOpTable2Addr;
isTwoAddrFold = true;
// Can't write back to CPI or a GV stub.
if (MOs[3].isCPI() ||
(MOs[3].isGlobal() && isGVStub(MOs[3].getGlobal(), TM)))
return NULL;
} else if (i == 0) { // If operand 0
// Can't write back to CPI or a GV stub.
if (MOs[3].isCPI() ||
(MOs[3].isGlobal() && isGVStub(MOs[3].getGlobal(), TM)))
return NULL;
if (MI->getOpcode() == X86::MOV16r0)
NewMI = MakeM0Inst(*this, X86::MOV16mi, MOs, MI);
else if (MI->getOpcode() == X86::MOV32r0)