struct DataFlowGraph
Declaration
struct DataFlowGraph { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:644
Member Variables
- private llvm::MachineFunction& MF
- private const llvm::TargetInstrInfo& TII
- private const llvm::TargetRegisterInfo& TRI
- private const llvm::rdf::PhysicalRegisterInfo PRI
- private const llvm::MachineDominatorTree& MDT
- private const llvm::MachineDominanceFrontier& MDF
- private const llvm::rdf::TargetOperandInfo& TOI
- private llvm::rdf::RegisterAggr LiveIns
- private NodeAddr<llvm::rdf::FuncNode*> Func
- private llvm::rdf::NodeAllocator Memory
- private std::map<MachineBasicBlock*, NodeAddr<BlockNode*>> BlockNodes
- private llvm::rdf::LaneMaskIndex LMI
Method Overview
- public DataFlowGraph(llvm::MachineFunction & mf, const llvm::TargetInstrInfo & tii, const llvm::TargetRegisterInfo & tri, const llvm::MachineDominatorTree & mdt, const llvm::MachineDominanceFrontier & mdf, const llvm::rdf::TargetOperandInfo & toi)
- public template <uint16_t Kind>static bool IsCode(const NodeAddr<llvm::rdf::NodeBase *> BA)
- public static bool IsDef(const NodeAddr<llvm::rdf::NodeBase *> BA)
- public static bool IsPhi(const NodeAddr<llvm::rdf::NodeBase *> BA)
- public static bool IsPreservingDef(const NodeAddr<llvm::rdf::DefNode *> DA)
- public template <uint16_t Kind>static bool IsRef(const NodeAddr<llvm::rdf::NodeBase *> BA)
- public static bool IsUse(const NodeAddr<llvm::rdf::NodeBase *> BA)
- public template <typename T>NodeAddr<T> addr(llvm::rdf::NodeId N) const
- public void build(unsigned int Options = BuildOptions::None)
- private void buildPhis(llvm::rdf::DataFlowGraph::BlockRefsMap & PhiM, llvm::rdf::RegisterSet & AllRefs, NodeAddr<llvm::rdf::BlockNode *> BA)
- private void buildStmt(NodeAddr<llvm::rdf::BlockNode *> BA, llvm::MachineInstr & In)
- private NodeAddr<llvm::rdf::NodeBase *> cloneNode(const NodeAddr<llvm::rdf::NodeBase *> B)
- public NodeAddr<llvm::rdf::BlockNode *> findBlock(llvm::MachineBasicBlock * BB) const
- public const llvm::MachineDominanceFrontier & getDF() const
- public const llvm::MachineDominatorTree & getDT() const
- public NodeAddr<llvm::rdf::FuncNode *> getFunc() const
- private llvm::rdf::RegisterSet getLandingPadLiveIns() const
- public const llvm::rdf::RegisterAggr & getLiveIns() const
- public llvm::MachineFunction & getMF() const
- public NodeAddr<llvm::rdf::RefNode *> getNextRelated(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<llvm::rdf::RefNode *> RA) const
- public NodeAddr<llvm::rdf::RefNode *> getNextShadow(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<llvm::rdf::RefNode *> RA, bool Create)
- public NodeAddr<llvm::rdf::RefNode *> getNextShadow(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<llvm::rdf::RefNode *> RA) const
- public const llvm::rdf::PhysicalRegisterInfo & getPRI() const
- public llvm::rdf::NodeList getRelatedRefs(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<llvm::rdf::RefNode *> RA) const
- public const llvm::TargetInstrInfo & getTII() const
- public const llvm::TargetRegisterInfo & getTRI() const
- public llvm::rdf::NodeId id(const llvm::rdf::NodeBase * P) const
- private void linkBlockRefs(llvm::rdf::DataFlowGraph::DefStackMap & DefM, NodeAddr<llvm::rdf::BlockNode *> BA)
- private template <typename T>void linkRefUp(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<T> TA, llvm::rdf::DataFlowGraph::DefStack & DS)
- private template <typename Predicate>void linkStmtRefs(llvm::rdf::DataFlowGraph::DefStackMap & DefM, NodeAddr<llvm::rdf::StmtNode *> SA, Predicate P)
- private template <typename Predicate>std::pair<NodeAddr<RefNode *>, NodeAddr<RefNode *>> locateNextRef(NodeAddr<llvm::rdf::InstrNode *> IA, NodeAddr<llvm::rdf::RefNode *> RA, Predicate P) const
- public llvm::rdf::RegisterRef makeRegRef(const llvm::MachineOperand & Op) const
- public llvm::rdf::RegisterRef makeRegRef(unsigned int Reg, unsigned int Sub) const
- public void markBlock(llvm::rdf::NodeId B, llvm::rdf::DataFlowGraph::DefStackMap & DefM)
- private NodeAddr<llvm::rdf::BlockNode *> newBlock(NodeAddr<llvm::rdf::FuncNode *> Owner, llvm::MachineBasicBlock * BB)
- private NodeAddr<llvm::rdf::DefNode *> newDef(NodeAddr<llvm::rdf::InstrNode *> Owner, llvm::MachineOperand & Op, uint16_t Flags = NodeAttrs::None)
- private NodeAddr<llvm::rdf::DefNode *> newDef(NodeAddr<llvm::rdf::InstrNode *> Owner, llvm::rdf::RegisterRef RR, uint16_t Flags = NodeAttrs::PhiRef)
- private NodeAddr<llvm::rdf::FuncNode *> newFunc(llvm::MachineFunction * MF)
- private NodeAddr<llvm::rdf::NodeBase *> newNode(uint16_t Attrs)
- private NodeAddr<llvm::rdf::PhiNode *> newPhi(NodeAddr<llvm::rdf::BlockNode *> Owner)
- private NodeAddr<llvm::rdf::PhiUseNode *> newPhiUse(NodeAddr<llvm::rdf::PhiNode *> Owner, llvm::rdf::RegisterRef RR, NodeAddr<llvm::rdf::BlockNode *> PredB, uint16_t Flags = NodeAttrs::PhiRef)
- private NodeAddr<llvm::rdf::StmtNode *> newStmt(NodeAddr<llvm::rdf::BlockNode *> Owner, llvm::MachineInstr * MI)
- private NodeAddr<llvm::rdf::UseNode *> newUse(NodeAddr<llvm::rdf::InstrNode *> Owner, llvm::MachineOperand & Op, uint16_t Flags = NodeAttrs::None)
- public llvm::rdf::PackedRegisterRef pack(llvm::rdf::RegisterRef RR)
- public llvm::rdf::PackedRegisterRef pack(llvm::rdf::RegisterRef RR) const
- public llvm::rdf::NodeBase * ptr(llvm::rdf::NodeId N) const
- public template <typename T>T ptr(llvm::rdf::NodeId N) const
- public void pushAllDefs(NodeAddr<llvm::rdf::InstrNode *> IA, llvm::rdf::DataFlowGraph::DefStackMap & DM)
- private void pushClobbers(NodeAddr<llvm::rdf::InstrNode *> IA, llvm::rdf::DataFlowGraph::DefStackMap & DM)
- private void pushDefs(NodeAddr<llvm::rdf::InstrNode *> IA, llvm::rdf::DataFlowGraph::DefStackMap & DM)
- private void recordDefsForDF(llvm::rdf::DataFlowGraph::BlockRefsMap & PhiM, NodeAddr<llvm::rdf::BlockNode *> BA)
- public void releaseBlock(llvm::rdf::NodeId B, llvm::rdf::DataFlowGraph::DefStackMap & DefM)
- private void removeFromOwner(NodeAddr<llvm::rdf::RefNode *> RA)
- private void removeUnusedPhis()
- private void reset()
- public void unlinkDef(NodeAddr<llvm::rdf::DefNode *> DA, bool RemoveFromOwner)
- private void unlinkDefDF(NodeAddr<llvm::rdf::DefNode *> DA)
- public void unlinkUse(NodeAddr<llvm::rdf::UseNode *> UA, bool RemoveFromOwner)
- private void unlinkUseDF(NodeAddr<llvm::rdf::UseNode *> UA)
- public llvm::rdf::RegisterRef unpack(llvm::rdf::PackedRegisterRef PR) const
Methods
¶DataFlowGraph(
llvm::MachineFunction& mf,
const llvm::TargetInstrInfo& tii,
const llvm::TargetRegisterInfo& tri,
const llvm::MachineDominatorTree& mdt,
const llvm::MachineDominanceFrontier& mdf,
const llvm::rdf::TargetOperandInfo& toi)
DataFlowGraph(
llvm::MachineFunction& mf,
const llvm::TargetInstrInfo& tii,
const llvm::TargetRegisterInfo& tri,
const llvm::MachineDominatorTree& mdt,
const llvm::MachineDominanceFrontier& mdf,
const llvm::rdf::TargetOperandInfo& toi)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:645
Parameters
- llvm::MachineFunction& mf
- const llvm::TargetInstrInfo& tii
- const llvm::TargetRegisterInfo& tri
- const llvm::MachineDominatorTree& mdt
- const llvm::MachineDominanceFrontier& mdf
- const llvm::rdf::TargetOperandInfo& toi
¶template <uint16_t Kind>
static bool IsCode(
const NodeAddr<llvm::rdf::NodeBase*> BA)
template <uint16_t Kind>
static bool IsCode(
const NodeAddr<llvm::rdf::NodeBase*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:787
Templates
- uint16_t Kind
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> BA
¶static bool IsDef(
const NodeAddr<llvm::rdf::NodeBase*> BA)
static bool IsDef(
const NodeAddr<llvm::rdf::NodeBase*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:792
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> BA
¶static bool IsPhi(
const NodeAddr<llvm::rdf::NodeBase*> BA)
static bool IsPhi(
const NodeAddr<llvm::rdf::NodeBase*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:802
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> BA
¶static bool IsPreservingDef(
const NodeAddr<llvm::rdf::DefNode*> DA)
static bool IsPreservingDef(
const NodeAddr<llvm::rdf::DefNode*> DA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:807
Parameters
- const NodeAddr<llvm::rdf::DefNode*> DA
¶template <uint16_t Kind>
static bool IsRef(
const NodeAddr<llvm::rdf::NodeBase*> BA)
template <uint16_t Kind>
static bool IsRef(
const NodeAddr<llvm::rdf::NodeBase*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:781
Templates
- uint16_t Kind
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> BA
¶static bool IsUse(
const NodeAddr<llvm::rdf::NodeBase*> BA)
static bool IsUse(
const NodeAddr<llvm::rdf::NodeBase*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:797
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> BA
¶template <typename T>
NodeAddr<T> addr(llvm::rdf::NodeId N) const
template <typename T>
NodeAddr<T> addr(llvm::rdf::NodeId N) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:656
Templates
- T
Parameters
- llvm::rdf::NodeId N
¶void build(
unsigned int Options = BuildOptions::None)
void build(
unsigned int Options = BuildOptions::None)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:735
Parameters
- unsigned int Options = BuildOptions::None
¶void buildPhis(
llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM,
llvm::rdf::RegisterSet& AllRefs,
NodeAddr<llvm::rdf::BlockNode*> BA)
void buildPhis(
llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM,
llvm::rdf::RegisterSet& AllRefs,
NodeAddr<llvm::rdf::BlockNode*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:844
Parameters
- llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM
- llvm::rdf::RegisterSet& AllRefs
- NodeAddr<llvm::rdf::BlockNode*> BA
¶void buildStmt(NodeAddr<llvm::rdf::BlockNode*> BA,
llvm::MachineInstr& In)
void buildStmt(NodeAddr<llvm::rdf::BlockNode*> BA,
llvm::MachineInstr& In)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:842
Parameters
- NodeAddr<llvm::rdf::BlockNode*> BA
- llvm::MachineInstr& In
¶NodeAddr<llvm::rdf::NodeBase*> cloneNode(
const NodeAddr<llvm::rdf::NodeBase*> B)
NodeAddr<llvm::rdf::NodeBase*> cloneNode(
const NodeAddr<llvm::rdf::NodeBase*> B)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:818
Parameters
- const NodeAddr<llvm::rdf::NodeBase*> B
¶NodeAddr<llvm::rdf::BlockNode*> findBlock(
llvm::MachineBasicBlock* BB) const
NodeAddr<llvm::rdf::BlockNode*> findBlock(
llvm::MachineBasicBlock* BB) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:763
Parameters
¶const llvm::MachineDominanceFrontier& getDF()
const
const llvm::MachineDominanceFrontier& getDF()
const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:666
¶const llvm::MachineDominatorTree& getDT() const
const llvm::MachineDominatorTree& getDT() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:665
¶NodeAddr<llvm::rdf::FuncNode*> getFunc() const
NodeAddr<llvm::rdf::FuncNode*> getFunc() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:660
¶llvm::rdf::RegisterSet getLandingPadLiveIns()
const
llvm::rdf::RegisterSet getLandingPadLiveIns()
const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:815
¶const llvm::rdf::RegisterAggr& getLiveIns() const
const llvm::rdf::RegisterAggr& getLiveIns() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:667
¶llvm::MachineFunction& getMF() const
llvm::MachineFunction& getMF() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:661
¶NodeAddr<llvm::rdf::RefNode*> getNextRelated(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
NodeAddr<llvm::rdf::RefNode*> getNextRelated(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:753
Parameters
¶NodeAddr<llvm::rdf::RefNode*> getNextShadow(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA,
bool Create)
NodeAddr<llvm::rdf::RefNode*> getNextShadow(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA,
bool Create)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:755
Parameters
¶NodeAddr<llvm::rdf::RefNode*> getNextShadow(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
NodeAddr<llvm::rdf::RefNode*> getNextShadow(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:757
Parameters
¶const llvm::rdf::PhysicalRegisterInfo& getPRI()
const
const llvm::rdf::PhysicalRegisterInfo& getPRI()
const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:664
¶llvm::rdf::NodeList getRelatedRefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
llvm::rdf::NodeList getRelatedRefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:760
Parameters
¶const llvm::TargetInstrInfo& getTII() const
const llvm::TargetInstrInfo& getTII() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:662
¶const llvm::TargetRegisterInfo& getTRI() const
const llvm::TargetRegisterInfo& getTRI() const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:663
¶llvm::rdf::NodeId id(
const llvm::rdf::NodeBase* P) const
llvm::rdf::NodeId id(
const llvm::rdf::NodeBase* P) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:654
Parameters
- const llvm::rdf::NodeBase* P
¶void linkBlockRefs(
llvm::rdf::DataFlowGraph::DefStackMap& DefM,
NodeAddr<llvm::rdf::BlockNode*> BA)
void linkBlockRefs(
llvm::rdf::DataFlowGraph::DefStackMap& DefM,
NodeAddr<llvm::rdf::BlockNode*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:854
Parameters
- llvm::rdf::DataFlowGraph::DefStackMap& DefM
- NodeAddr<llvm::rdf::BlockNode*> BA
¶template <typename T>
void linkRefUp(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<T> TA,
llvm::rdf::DataFlowGraph::DefStack& DS)
template <typename T>
void linkRefUp(
NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<T> TA,
llvm::rdf::DataFlowGraph::DefStack& DS)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:850
Templates
- T
Parameters
- NodeAddr<llvm::rdf::InstrNode*> IA
- NodeAddr<T> TA
- llvm::rdf::DataFlowGraph::DefStack& DS
¶template <typename Predicate>
void linkStmtRefs(
llvm::rdf::DataFlowGraph::DefStackMap& DefM,
NodeAddr<llvm::rdf::StmtNode*> SA,
Predicate P)
template <typename Predicate>
void linkStmtRefs(
llvm::rdf::DataFlowGraph::DefStackMap& DefM,
NodeAddr<llvm::rdf::StmtNode*> SA,
Predicate P)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:852
Templates
- Predicate
Parameters
- llvm::rdf::DataFlowGraph::DefStackMap& DefM
- NodeAddr<llvm::rdf::StmtNode*> SA
- Predicate P
¶template <typename Predicate>
std::pair<NodeAddr<RefNode*>, NodeAddr<RefNode*>>
locateNextRef(NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA,
Predicate P) const
template <typename Predicate>
std::pair<NodeAddr<RefNode*>, NodeAddr<RefNode*>>
locateNextRef(NodeAddr<llvm::rdf::InstrNode*> IA,
NodeAddr<llvm::rdf::RefNode*> RA,
Predicate P) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:837
Templates
- Predicate
Parameters
¶llvm::rdf::RegisterRef makeRegRef(
const llvm::MachineOperand& Op) const
llvm::rdf::RegisterRef makeRegRef(
const llvm::MachineOperand& Op) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:751
Parameters
- const llvm::MachineOperand& Op
¶llvm::rdf::RegisterRef makeRegRef(
unsigned int Reg,
unsigned int Sub) const
llvm::rdf::RegisterRef makeRegRef(
unsigned int Reg,
unsigned int Sub) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:750
Parameters
- unsigned int Reg
- unsigned int Sub
¶void markBlock(
llvm::rdf::NodeId B,
llvm::rdf::DataFlowGraph::DefStackMap& DefM)
void markBlock(
llvm::rdf::NodeId B,
llvm::rdf::DataFlowGraph::DefStackMap& DefM)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:737
Parameters
- llvm::rdf::NodeId B
- llvm::rdf::DataFlowGraph::DefStackMap& DefM
¶NodeAddr<llvm::rdf::BlockNode*> newBlock(
NodeAddr<llvm::rdf::FuncNode*> Owner,
llvm::MachineBasicBlock* BB)
NodeAddr<llvm::rdf::BlockNode*> newBlock(
NodeAddr<llvm::rdf::FuncNode*> Owner,
llvm::MachineBasicBlock* BB)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:831
Parameters
- NodeAddr<llvm::rdf::FuncNode*> Owner
- llvm::MachineBasicBlock* BB
¶NodeAddr<llvm::rdf::DefNode*> newDef(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::MachineOperand& Op,
uint16_t Flags = NodeAttrs::None)
NodeAddr<llvm::rdf::DefNode*> newDef(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::MachineOperand& Op,
uint16_t Flags = NodeAttrs::None)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:824
Parameters
- NodeAddr<llvm::rdf::InstrNode*> Owner
- llvm::MachineOperand& Op
- uint16_t Flags = NodeAttrs::None
¶NodeAddr<llvm::rdf::DefNode*> newDef(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::rdf::RegisterRef RR,
uint16_t Flags = NodeAttrs::PhiRef)
NodeAddr<llvm::rdf::DefNode*> newDef(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::rdf::RegisterRef RR,
uint16_t Flags = NodeAttrs::PhiRef)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:826
Parameters
- NodeAddr<llvm::rdf::InstrNode*> Owner
- llvm::rdf::RegisterRef RR
- uint16_t Flags = NodeAttrs::PhiRef
¶NodeAddr<llvm::rdf::FuncNode*> newFunc(
llvm::MachineFunction* MF)
NodeAddr<llvm::rdf::FuncNode*> newFunc(
llvm::MachineFunction* MF)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:833
Parameters
¶NodeAddr<llvm::rdf::NodeBase*> newNode(
uint16_t Attrs)
NodeAddr<llvm::rdf::NodeBase*> newNode(
uint16_t Attrs)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:817
Parameters
- uint16_t Attrs
¶NodeAddr<llvm::rdf::PhiNode*> newPhi(
NodeAddr<llvm::rdf::BlockNode*> Owner)
NodeAddr<llvm::rdf::PhiNode*> newPhi(
NodeAddr<llvm::rdf::BlockNode*> Owner)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:828
Parameters
- NodeAddr<llvm::rdf::BlockNode*> Owner
¶NodeAddr<llvm::rdf::PhiUseNode*> newPhiUse(
NodeAddr<llvm::rdf::PhiNode*> Owner,
llvm::rdf::RegisterRef RR,
NodeAddr<llvm::rdf::BlockNode*> PredB,
uint16_t Flags = NodeAttrs::PhiRef)
NodeAddr<llvm::rdf::PhiUseNode*> newPhiUse(
NodeAddr<llvm::rdf::PhiNode*> Owner,
llvm::rdf::RegisterRef RR,
NodeAddr<llvm::rdf::BlockNode*> PredB,
uint16_t Flags = NodeAttrs::PhiRef)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:821
Parameters
- NodeAddr<llvm::rdf::PhiNode*> Owner
- llvm::rdf::RegisterRef RR
- NodeAddr<llvm::rdf::BlockNode*> PredB
- uint16_t Flags = NodeAttrs::PhiRef
¶NodeAddr<llvm::rdf::StmtNode*> newStmt(
NodeAddr<llvm::rdf::BlockNode*> Owner,
llvm::MachineInstr* MI)
NodeAddr<llvm::rdf::StmtNode*> newStmt(
NodeAddr<llvm::rdf::BlockNode*> Owner,
llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:829
Parameters
- NodeAddr<llvm::rdf::BlockNode*> Owner
- llvm::MachineInstr* MI
¶NodeAddr<llvm::rdf::UseNode*> newUse(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::MachineOperand& Op,
uint16_t Flags = NodeAttrs::None)
NodeAddr<llvm::rdf::UseNode*> newUse(
NodeAddr<llvm::rdf::InstrNode*> Owner,
llvm::MachineOperand& Op,
uint16_t Flags = NodeAttrs::None)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:819
Parameters
- NodeAddr<llvm::rdf::InstrNode*> Owner
- llvm::MachineOperand& Op
- uint16_t Flags = NodeAttrs::None
¶llvm::rdf::PackedRegisterRef pack(
llvm::rdf::RegisterRef RR)
llvm::rdf::PackedRegisterRef pack(
llvm::rdf::RegisterRef RR)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:740
Parameters
¶llvm::rdf::PackedRegisterRef pack(
llvm::rdf::RegisterRef RR) const
llvm::rdf::PackedRegisterRef pack(
llvm::rdf::RegisterRef RR) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:743
Parameters
¶llvm::rdf::NodeBase* ptr(
llvm::rdf::NodeId N) const
llvm::rdf::NodeBase* ptr(
llvm::rdf::NodeId N) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:649
Parameters
- llvm::rdf::NodeId N
¶template <typename T>
T ptr(llvm::rdf::NodeId N) const
template <typename T>
T ptr(llvm::rdf::NodeId N) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:650
Templates
- T
Parameters
- llvm::rdf::NodeId N
¶void pushAllDefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
void pushAllDefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:736
Parameters
- NodeAddr<llvm::rdf::InstrNode*> IA
- llvm::rdf::DataFlowGraph::DefStackMap& DM
¶void pushClobbers(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
void pushClobbers(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:848
Parameters
- NodeAddr<llvm::rdf::InstrNode*> IA
- llvm::rdf::DataFlowGraph::DefStackMap& DM
¶void pushDefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
void pushDefs(
NodeAddr<llvm::rdf::InstrNode*> IA,
llvm::rdf::DataFlowGraph::DefStackMap& DM)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:849
Parameters
- NodeAddr<llvm::rdf::InstrNode*> IA
- llvm::rdf::DataFlowGraph::DefStackMap& DM
¶void recordDefsForDF(
llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM,
NodeAddr<llvm::rdf::BlockNode*> BA)
void recordDefsForDF(
llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM,
NodeAddr<llvm::rdf::BlockNode*> BA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:843
Parameters
- llvm::rdf::DataFlowGraph::BlockRefsMap& PhiM
- NodeAddr<llvm::rdf::BlockNode*> BA
¶void releaseBlock(
llvm::rdf::NodeId B,
llvm::rdf::DataFlowGraph::DefStackMap& DefM)
void releaseBlock(
llvm::rdf::NodeId B,
llvm::rdf::DataFlowGraph::DefStackMap& DefM)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:738
Parameters
- llvm::rdf::NodeId B
- llvm::rdf::DataFlowGraph::DefStackMap& DefM
¶void removeFromOwner(
NodeAddr<llvm::rdf::RefNode*> RA)
void removeFromOwner(
NodeAddr<llvm::rdf::RefNode*> RA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:859
Parameters
- NodeAddr<llvm::rdf::RefNode*> RA
¶void removeUnusedPhis()
void removeUnusedPhis()
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:846
¶void reset()
void reset()
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:813
¶void unlinkDef(NodeAddr<llvm::rdf::DefNode*> DA,
bool RemoveFromOwner)
void unlinkDef(NodeAddr<llvm::rdf::DefNode*> DA,
bool RemoveFromOwner)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:773
Parameters
- NodeAddr<llvm::rdf::DefNode*> DA
- bool RemoveFromOwner
¶void unlinkDefDF(NodeAddr<llvm::rdf::DefNode*> DA)
void unlinkDefDF(NodeAddr<llvm::rdf::DefNode*> DA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:857
Parameters
- NodeAddr<llvm::rdf::DefNode*> DA
¶void unlinkUse(NodeAddr<llvm::rdf::UseNode*> UA,
bool RemoveFromOwner)
void unlinkUse(NodeAddr<llvm::rdf::UseNode*> UA,
bool RemoveFromOwner)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:767
Parameters
- NodeAddr<llvm::rdf::UseNode*> UA
- bool RemoveFromOwner
¶void unlinkUseDF(NodeAddr<llvm::rdf::UseNode*> UA)
void unlinkUseDF(NodeAddr<llvm::rdf::UseNode*> UA)
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:856
Parameters
- NodeAddr<llvm::rdf::UseNode*> UA
¶llvm::rdf::RegisterRef unpack(
llvm::rdf::PackedRegisterRef PR) const
llvm::rdf::RegisterRef unpack(
llvm::rdf::PackedRegisterRef PR) const
Declared at: llvm/include/llvm/CodeGen/RDFGraph.h:746