forked from OSchip/llvm-project
Force the greedy register allocator to always use the inline spiller.
Soon, RegAllocGreedy will start splitting live ranges, and then deferred spilling won't work anyway. llvm-svn: 121591
This commit is contained in:
parent
276445f3b8
commit
adecb5e82c
|
@ -311,7 +311,7 @@ bool RAGreedy::runOnMachineFunction(MachineFunction &mf) {
|
|||
getAnalysis<LiveIntervals>());
|
||||
|
||||
ReservedRegs = TRI->getReservedRegs(*MF);
|
||||
SpillerInstance.reset(createSpiller(*this, *MF, *VRM));
|
||||
SpillerInstance.reset(createInlineSpiller(*this, *MF, *VRM));
|
||||
allocatePhysRegs();
|
||||
addMBBLiveIns(MF);
|
||||
|
||||
|
|
|
@ -231,12 +231,6 @@ public:
|
|||
|
||||
} // end anonymous namespace
|
||||
|
||||
namespace llvm {
|
||||
Spiller *createInlineSpiller(MachineFunctionPass &pass,
|
||||
MachineFunction &mf,
|
||||
VirtRegMap &vrm);
|
||||
}
|
||||
|
||||
llvm::Spiller* llvm::createSpiller(MachineFunctionPass &pass,
|
||||
MachineFunction &mf,
|
||||
VirtRegMap &vrm) {
|
||||
|
|
|
@ -44,6 +44,13 @@ namespace llvm {
|
|||
Spiller* createSpiller(MachineFunctionPass &pass,
|
||||
MachineFunction &mf,
|
||||
VirtRegMap &vrm);
|
||||
|
||||
/// Create and return a spiller that will insert spill code directly instead
|
||||
/// of deferring though VirtRegMap.
|
||||
Spiller *createInlineSpiller(MachineFunctionPass &pass,
|
||||
MachineFunction &mf,
|
||||
VirtRegMap &vrm);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue