aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-07-22 15:18:10 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-07-22 15:18:10 +0000
commitd3014edc51af0751e7f05180e9f48162433fb4ba (patch)
tree3020171eaae552b56817b8dab95d8e2397fd7d49 /lib/CodeGen/LiveIntervalAnalysis.cpp
parent82c24fba8a096ade6875451894340a75fd3c27f4 (diff)
Sorting is now handled by both linearscan and iterative scan so live
intervals need not be sorted anymore. Removing this redundant step improves LiveIntervals running time by 5% on 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.cpp10
1 files changed, 0 insertions, 10 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 2ef1ccae6d..35bbf081cb 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -159,7 +159,6 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
}
}
- intervals_.sort();
DEBUG(std::cerr << "********** INTERVALS **********\n");
DEBUG(std::copy(intervals_.begin(), intervals_.end(),
std::ostream_iterator<LiveInterval>(std::cerr, "\n")));
@@ -263,15 +262,6 @@ std::vector<LiveInterval*> LiveIntervals::addIntervalsForSpills(
}
}
- // FIXME: This method MUST return intervals in sorted order. If a
- // particular machine instruction both uses and defines the vreg being
- // spilled (e.g., vr = vr + 1) and if the def is processed before the
- // use, the list ends up not sorted.
- //
- // The proper way to fix this is to process all uses of the vreg before we
- // process any defs. However, this would require refactoring the above
- // blob of code, which I'm not feeling up to right now.
- std::sort(added.begin(), added.end(), less_ptr<LiveInterval>());
return added;
}