mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
Checkpoint SplitKit progress.
We are now at a point where we can split around simple single-entry, single-exit loops, although still with some bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110257 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -110,7 +110,8 @@ bool InlineSpiller::split() {
|
||||
splitAnalysis_.analyze(li_);
|
||||
|
||||
if (const MachineLoop *loop = splitAnalysis_.getBestSplitLoop()) {
|
||||
SplitEditor(splitAnalysis_, lis_, vrm_).splitAroundLoop(loop);
|
||||
SplitEditor(splitAnalysis_, lis_, vrm_, *newIntervals_)
|
||||
.splitAroundLoop(loop);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -372,7 +373,9 @@ void InlineSpiller::spill(LiveInterval *li,
|
||||
if (li_->empty())
|
||||
return;
|
||||
|
||||
stackSlot_ = vrm_.assignVirt2StackSlot(li->reg);
|
||||
stackSlot_ = vrm_.getStackSlot(li->reg);
|
||||
if (stackSlot_ == VirtRegMap::NO_STACK_SLOT)
|
||||
stackSlot_ = vrm_.assignVirt2StackSlot(li->reg);
|
||||
|
||||
// Iterate over instructions using register.
|
||||
for (MachineRegisterInfo::reg_iterator RI = mri_.reg_begin(li->reg);
|
||||
|
Reference in New Issue
Block a user