llvm::rdf::Liveness

Recalculates register liveness from an RDF data-flow graph.

Synopsis

Declared in <llvm/CodeGen/RDFLiveness.h>

struct Liveness;

Description

Computes block live-ins and kill flags from reaching definitions and reached uses in the graph.

Type Aliases

NameDescription
LiveMapType Map from basic block to the aggregate of registers live in that block.
NodeRef Pair of a reference node id and the lane mask of the referenced register.
NodeRefSet Unordered set of node-reference pairs.
RefMap Map from register id to the set of node references using that register.

Member Functions

NameDescription
Liveness [constructor]Construct a liveness analyzer for machine register info mri and data-flow graph g.
computeLiveIns Compute block live-ins from the data-flow graph and dominance frontier.
computePhiInfo Compute the map of real uses reached by each phi definition.
getAllReachedUses Return all uses reached by definition DefA for register RefRR.
getAllReachingDefs getAllReachingDefs overloads
getAllReachingDefsRec Recursively collect reaching definitions of RefRR past phi nodes.
getLiveMap getLiveMap overloads
getNearestAliasedRef Find the nearest reference aliased to RefRR above instruction IA.
getRealUses Return the map of real (non-phi) uses reached by phi node P.
resetKills resetKills overloads
resetLiveIns Replace MachineFunction live-ins with the values from the live map.
trace Enable or disable tracing output according to T.