mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Refine stack slot interval weight computation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52040 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -283,10 +283,12 @@ namespace llvm {
|
||||
}
|
||||
|
||||
/// addIntervalsForSpills - Create new intervals for spilled defs / uses of
|
||||
/// the given interval.
|
||||
/// the given interval. FIXME: It also returns the weight of the spill slot
|
||||
/// (if any is created) by reference. This is temporary.
|
||||
std::vector<LiveInterval*>
|
||||
addIntervalsForSpills(const LiveInterval& i,
|
||||
const MachineLoopInfo *loopInfo, VirtRegMap& vrm);
|
||||
const MachineLoopInfo *loopInfo, VirtRegMap& vrm,
|
||||
float &SSWeight);
|
||||
|
||||
/// spillPhysRegAroundRegDefsUses - Spill the specified physical register
|
||||
/// around all defs and uses of the specified interval.
|
||||
@@ -424,7 +426,7 @@ namespace llvm {
|
||||
SmallVector<int, 4> &ReMatIds, const MachineLoopInfo *loopInfo,
|
||||
unsigned &NewVReg, unsigned ImpUse, bool &HasDef, bool &HasUse,
|
||||
std::map<unsigned,unsigned> &MBBVRegsMap,
|
||||
std::vector<LiveInterval*> &NewLIs);
|
||||
std::vector<LiveInterval*> &NewLIs, float &SSWeight);
|
||||
void rewriteInstructionsForSpills(const LiveInterval &li, bool TrySplit,
|
||||
LiveInterval::Ranges::const_iterator &I,
|
||||
MachineInstr *OrigDefMI, MachineInstr *DefMI, unsigned Slot, int LdSlot,
|
||||
@@ -436,7 +438,7 @@ namespace llvm {
|
||||
BitVector &RestoreMBBs,
|
||||
std::map<unsigned,std::vector<SRInfo> > &RestoreIdxes,
|
||||
std::map<unsigned,unsigned> &MBBVRegsMap,
|
||||
std::vector<LiveInterval*> &NewLIs);
|
||||
std::vector<LiveInterval*> &NewLIs, float &SSWeight);
|
||||
|
||||
static LiveInterval createInterval(unsigned Reg);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user