Calculator for live ranges over machine IR.
Declared in <llvm/CodeGen/LiveRangeCalc.h>
class LiveRangeCalc;
Computes live ranges from scratch, or fills in SSA values when live-in and live-out blocks are already known. Caches CFG value information so repeated operations on the same live range (or non-overlapping ranges that share the cache) are faster.
| Name | Description |
|---|---|
LiveRangeCalc [constructor] | Construct an uninitialized live-range calculator. |
addLiveInBlock | Add a block with an unknown live-in value. |
calculateValues | Calculate live-in values for blocks added with addLiveInBlock. |
extend | Extend the live range of LR to reach Use. |
reset | Prepare caches for a new set of non-overlapping live ranges. |
setLiveOutValue | Indicate that VNI is live out from MBB. |
| Name | Description |
|---|---|
isJointlyDominated | Check whether the end of MBB is jointly dominated by Defs. |
| Name | Description |
|---|---|
getDomTree | Return the machine dominator tree used for calculations. |
getIndexes | Return the slot indexes analysis used for calculations. |
getMachineFunction | Some getters to expose in a read-only way some private fields to subclasses. |
getRegInfo | Return the machine register info used for calculations. |
getVNAlloc | Return the allocator used for value numbers. |
resetLiveOutMap | Reset Map and Seen fields. |
| Name | Description |
|---|---|
LiveIntervalCalc | Extension of LiveRangeCalc for computing and modifying LiveIntervals. |