[PATCH 0/5] LiveInterval refactoring

Matthias Braun matze at braunis.de
Thu Aug 29 18:07:08 PDT 2013


This patchset is a step towards having subregister liveness in the
LiveIntervall class. It factors out some functionality of the LiveInterval
class into a new LiveRanges class to enable reusage. As a proof of concept
the final patch rewrite the Register Unit liveness tracking to use this new
class and thereby avoid having unnecessary register number and spill weight
fields there.

Matthias Braun (5):
  refactor LiveInterval: introduce new LiveRanges class
  Pass LiveQueryResult by value
  change MachineVerifier to work on LiveRanges + LiveInterval
  work on LiveRanges instead of LiveInterval where possible
  Represent RegUnit liveness with LiveRanges instances

 include/llvm/CodeGen/LiveInterval.h         | 328 +++++++++++++++-------------
 include/llvm/CodeGen/LiveIntervalAnalysis.h |  46 ++--
 include/llvm/CodeGen/RegisterPressure.h     |   4 +-
 lib/CodeGen/InlineSpiller.cpp               |   8 +-
 lib/CodeGen/InterferenceCache.cpp           |   8 +-
 lib/CodeGen/InterferenceCache.h             |   2 +-
 lib/CodeGen/LiveDebugVariables.cpp          |  18 +-
 lib/CodeGen/LiveInterval.cpp                | 130 ++++++-----
 lib/CodeGen/LiveIntervalAnalysis.cpp        | 167 +++++++-------
 lib/CodeGen/LiveRangeCalc.cpp               |  56 +++--
 lib/CodeGen/LiveRangeCalc.h                 |  32 ++-
 lib/CodeGen/LiveRangeEdit.cpp               |   6 +-
 lib/CodeGen/LiveRegMatrix.cpp               |   6 +-
 lib/CodeGen/MachineScheduler.cpp            |   3 +-
 lib/CodeGen/MachineVerifier.cpp             | 224 ++++++++++---------
 lib/CodeGen/RegAllocGreedy.cpp              |   6 +-
 lib/CodeGen/RegisterCoalescer.cpp           |  18 +-
 lib/CodeGen/RegisterPressure.cpp            |  14 +-
 lib/CodeGen/ScheduleDAGInstrs.cpp           |   3 +-
 lib/CodeGen/SplitKit.cpp                    |  18 +-
 20 files changed, 574 insertions(+), 523 deletions(-)

-- 
1.8.3.4


More information about the llvm-commits mailing list