mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a9c41d39d1
commit
ccfa446450
@ -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
Block a user