mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 06:00:28 +00:00
ReMat of load from stub in pic mode extends the life of pic base. Currently spiller doesn't do a good job of estimating the impact. Disable for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49059 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
da2903f028
commit
ffe2eb0120
@ -37,6 +37,10 @@ namespace {
|
||||
cl::desc("Print instructions that the allocator wants to"
|
||||
" fuse, but the X86 backend currently can't"),
|
||||
cl::Hidden);
|
||||
cl::opt<bool>
|
||||
ReMatPICStubLoad("remat-pic-stub-load",
|
||||
cl::desc("Re-materialize load from stub in PIC mode"),
|
||||
cl::init(false), cl::Hidden);
|
||||
}
|
||||
|
||||
X86InstrInfo::X86InstrInfo(X86TargetMachine &tm)
|
||||
@ -782,6 +786,8 @@ bool X86InstrInfo::isReallyTriviallyReMaterializable(MachineInstr *MI) const {
|
||||
if (BaseReg == 0)
|
||||
return true;
|
||||
// Allow re-materialization of PIC load.
|
||||
if (!ReMatPICStubLoad && MI->getOperand(4).isGlobal())
|
||||
return false;
|
||||
MachineRegisterInfo &MRI = MI->getParent()->getParent()->getRegInfo();
|
||||
bool isPICBase = false;
|
||||
for (MachineRegisterInfo::def_iterator I = MRI.def_begin(BaseReg),
|
||||
|
Loading…
Reference in New Issue
Block a user