forked from OSchip/llvm-project
Reject RS_Spill ranges from local splitting as well.
All new local ranges are marked as RS_New now, so there is no need to attempt splitting of RS_Spill ranges any more. llvm-svn: 137002
This commit is contained in:
parent
02cf10bdfd
commit
d4bb1d43e8
|
@ -1501,6 +1501,10 @@ unsigned RAGreedy::tryLocalSplit(LiveInterval &VirtReg, AllocationOrder &Order,
|
|||
/// @return Physreg when VirtReg may be assigned and/or new NewVRegs.
|
||||
unsigned RAGreedy::trySplit(LiveInterval &VirtReg, AllocationOrder &Order,
|
||||
SmallVectorImpl<LiveInterval*>&NewVRegs) {
|
||||
// Ranges must be Split2 or less.
|
||||
if (getStage(VirtReg) >= RS_Spill)
|
||||
return 0;
|
||||
|
||||
// Local intervals are handled separately.
|
||||
if (LIS->intervalIsInOneMBB(VirtReg)) {
|
||||
NamedRegionTimer T("Local Splitting", TimerGroupName, TimePassesIsEnabled);
|
||||
|
@ -1510,10 +1514,6 @@ unsigned RAGreedy::trySplit(LiveInterval &VirtReg, AllocationOrder &Order,
|
|||
|
||||
NamedRegionTimer T("Global Splitting", TimerGroupName, TimePassesIsEnabled);
|
||||
|
||||
// Ranges must be Split2 or less.
|
||||
if (getStage(VirtReg) >= RS_Spill)
|
||||
return 0;
|
||||
|
||||
SA->analyze(&VirtReg);
|
||||
|
||||
// FIXME: SplitAnalysis may repair broken live ranges coming from the
|
||||
|
|
Loading…
Reference in New Issue