aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
AgeCommit message (Expand)Author
2004-02-12Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos
2004-02-10Do not use MachineOperand::isVirtualRegister either!Chris Lattner
2004-02-05Change live interval representation. Machine instructions now have twoAlkis Evlogimenos
2004-02-05We don't need to scan the blocks that we are live-in on everyAlkis Evlogimenos
2004-02-02Should be more careful. The previously applied change made all countsAlkis Evlogimenos
2004-02-01Change string for joined intervals.Alkis Evlogimenos
2004-02-01Change xor to ^.Alkis Evlogimenos
2004-02-01Missed one silly assert :-)Alkis Evlogimenos
2004-02-01Simplify joinIntervals() code.Alkis Evlogimenos
2004-02-01Use MRegisterInfo::isPhysicalRegister andAlkis Evlogimenos
2004-01-31Apply final part of Chris' patch.Alkis Evlogimenos
2004-01-31Be a little smarter on the way we handle physical register defs.Alkis Evlogimenos
2004-01-31Merge safe parts from last night's buggy commit. These do not breakAlkis Evlogimenos
2004-01-31Optimize liveAt() and overlaps(). We now use a binary search insteadAlkis Evlogimenos
2004-01-31Revert last night's changes as they broke some tests. Will remerge parts of t...Alkis Evlogimenos
2004-01-31Several performance enhancements and cleanups from Chris.Alkis Evlogimenos
2004-01-23Fix failing test cases with joined live intervals. It turns out thatAlkis Evlogimenos
2004-01-22Add option to join live intervals. Two intervals are joined if thereAlkis Evlogimenos
2004-01-22Revert previous change. The code was correct...Alkis Evlogimenos
2004-01-22Fix incorrect negatives in LiveIntervals::Interval::liveAt().Alkis Evlogimenos
2004-01-16Add asserts to previous change.Alkis Evlogimenos
2004-01-16Use a list instead of a vector to store intervals. This will be neededAlkis Evlogimenos
2004-01-14Properly update #intervals statistic.Alkis Evlogimenos
2004-01-14Fix bug in LiveIntervals::Interval::overlaps andAlkis Evlogimenos
2004-01-13Fix miscomputation of live intervals. The catch is that registers canAlkis Evlogimenos
2004-01-13Remove allocatable registers vector. It is already provided byAlkis Evlogimenos
2004-01-13Cleanup debugging output.Alkis Evlogimenos
2004-01-13Fix output of live intervals to show correctly its closed, openAlkis Evlogimenos
2004-01-13Correctly compute live variable information for physical registersAlkis Evlogimenos
2004-01-07Change implementation of LiveIntervals::overlap(). This results in aAlkis Evlogimenos
2004-01-05Remove simple coalescing.Alkis Evlogimenos
2003-12-28Add coalescing to register allocator. A hint is added to each intervalAlkis Evlogimenos
2003-12-24Do a separate pass to compute spill weights because doing it inlineAlkis Evlogimenos
2003-12-22Fix crash when compiling twolf.Alkis Evlogimenos
2003-12-21Change weight into a float so that we can take into account theAlkis Evlogimenos
2003-12-21Add support for inactive intervals. This effectively reuses registersAlkis Evlogimenos
2003-12-18Remove TwoAddressInstruction from the public headers and add an IDAlkis Evlogimenos
2003-12-18Modify linear scan register allocator to use the two-addressAlkis Evlogimenos
2003-12-18When a variable is killed and redifined in a basic block only oneAlkis Evlogimenos
2003-12-18Handle multiple virtual register definitions gracefully.Alkis Evlogimenos
2003-12-15Change preserve all claim to just preserve live variables and phielimination.Alkis Evlogimenos
2003-12-14Change interface of MachineOperand as follows:Alkis Evlogimenos
2003-12-13Ignore non-allocatable physical registers in live interval analysis.Alkis Evlogimenos
2003-12-13Handle explicit physical register defs.Alkis Evlogimenos
2003-12-05Move operator<<(std::ostream&, const LiveInterval&) out of the header file.Alkis Evlogimenos
2003-12-05Sort live intervals by increasing start point.Alkis Evlogimenos
2003-11-20Merging the linear scan register allocator in trunk. It currently passes most...Alkis Evlogimenos