llvm::rdf

Register data-flow (RDF) graph types and builders for non-SSA machine code.

Types

NameDescription
BlockNode Basic-block code node containing instruction members.
BuildOptions Flags controlling how a data-flow graph is built.
CodeNode Code container node holding a circular list of member nodes.
DataFlowGraph SSA-style register data-flow graph for a machine function.
DefNode Definition reference node with reached-def and reached-use links.
FuncNode Function code node containing block members.
IndexedSet Indexed set mapping dense uint32_t indices to values of type T.
InstrNode Instruction code node (phi or statement) owned by a block.
LaneMaskIndex Indexed set mapping lane masks to compact indices for packing.
Liveness Recalculates register liveness from an RDF data-flow graph.
NodeAddr Pair of a typed node pointer and its NodeId.
NodeAllocator Bump-pointer allocator that maps between node ids and addresses.
NodeAttrs Packed attribute bits describing a node's type, kind, and flags.
NodeBase POD base for every RDF graph node, storing attributes and payload in a union.
PackedRegisterRef Packed register reference used only for compact storage.
PhiNode Phi instruction node; has no backing MachineInstr.
PhiUseNode Phi-use reference that records its predecessor basic block.
PhysicalRegisterInfo Target register information helpers for RDF register references.
Print Helper wrapping an object and its graph for stream printing.
PrintLaneMaskShort Helper that prints a lane mask in short form.
PrintNode Print wrapper specialized for typed node addresses.
RefNode Reference node representing a register def or use.
RegisterAggr Aggregate of register units representing a set of physical registers.
RegisterAggrMap Map from keys to RegisterAggr values with PRI-aware defaults.
RegisterRef Reference to a physical register, register unit, or register mask.
RegisterRefEqualTo Equality functor for RegisterRef using PhysicalRegisterInfo.
RegisterRefLess Less-than functor for RegisterRef using PhysicalRegisterInfo.
StmtNode Statement node corresponding to a machine instruction.
TargetOperandInfo Target hooks classifying instruction operands for RDF construction.
UseNode Use reference node that can link to a reaching definition.

Type Aliases

NameDescription
Block Node address pointing at a BlockNode.
Code Node address pointing at a CodeNode.
Def Node address pointing at a DefNode.
Func Node address pointing at a FuncNode.
Instr Node address pointing at an InstrNode.
Node Node address pointing at a generic NodeBase.
NodeId Opaque 32-bit identifier for a node in a data-flow graph.
NodeList Small vector of node addresses.
NodeSet Ordered set of node ids.
Phi Node address pointing at a PhiNode.
PhiUse Node address pointing at a PhiUseNode.
Ref Node address pointing at a RefNode.
RegisterId Dense identifier for a physical register, register unit, or register mask.
RegisterSet Ordered set of register references.
Stmt Node address pointing at a StmtNode.
Use Node address pointing at a UseNode.

Functions

NameDescription
disjoint Return true if sets A and B have no elements in common.
operator<< Stream insertion operators