LLVM 20.0.0git
|
#include "llvm/CodeGen/RDFGraph.h"
Classes | |
struct | Config |
struct | DefStack |
Public Types | |
using | DefStackMap = std::unordered_map< RegisterId, DefStack > |
Static Public Member Functions | |
template<uint16_t Kind> | |
static bool | IsRef (const Node BA) |
template<uint16_t Kind> | |
static bool | IsCode (const Node BA) |
static bool | IsDef (const Node BA) |
static bool | IsUse (const Node BA) |
static bool | IsPhi (const Node BA) |
static bool | IsPreservingDef (const Def DA) |
Definition at line 660 of file RDFGraph.h.
using llvm::rdf::DataFlowGraph::DefStackMap = std::unordered_map<RegisterId, DefStack> |
Definition at line 772 of file RDFGraph.h.
llvm::rdf::DataFlowGraph::DataFlowGraph | ( | MachineFunction & | mf, |
const TargetInstrInfo & | tii, | ||
const TargetRegisterInfo & | tri, | ||
const MachineDominatorTree & | mdt, | ||
const MachineDominanceFrontier & | mdf | ||
) |
Definition at line 636 of file RDFGraph.cpp.
llvm::rdf::DataFlowGraph::DataFlowGraph | ( | MachineFunction & | mf, |
const TargetInstrInfo & | tii, | ||
const TargetRegisterInfo & | tri, | ||
const MachineDominatorTree & | mdt, | ||
const MachineDominanceFrontier & | mdf, | ||
const TargetOperandInfo & | toi | ||
) |
Definition at line 644 of file RDFGraph.cpp.
Definition at line 689 of file RDFGraph.h.
References N.
Referenced by llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::computePhiInfo(), llvm::rdf::Liveness::getAllReachedUses(), and llvm::rdf::Liveness::getAllReachingDefs().
|
inline |
Definition at line 857 of file RDFGraph.cpp.
References llvm::rdf::NodeAddr< T >::Addr, assert(), B, Blocks, llvm::rdf::DataFlowGraph::Config::Classes, DM, E, llvm::rdf::RegisterAggr::empty(), findBlock(), llvm::rdf::FuncNode::getEntryBlock(), llvm::MCRegisterInfo::getNumRegs(), getPRI(), llvm::rdf::PhysicalRegisterInfo::getTRI(), I, llvm::rdf::RegisterAggr::insert(), isTracked(), llvm::rdf::BuildOptions::KeepDeadPhis, llvm::MachineBasicBlock::liveins(), llvm::rdf::CodeNode::members(), MRI, llvm::rdf::BuildOptions::OmitReserved, llvm::rdf::DataFlowGraph::Config::Options, P, PB(), llvm::rdf::NodeAttrs::PhiRef, llvm::MachineBasicBlock::pred_empty(), llvm::rdf::NodeAttrs::Preserving, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Range, llvm::rdf::RegisterAggr::refs(), and llvm::rdf::DataFlowGraph::Config::TrackRegs.
|
inline |
Definition at line 799 of file RDFGraph.h.
Referenced by build(), and llvm::rdf::Liveness::getNearestAliasedRef().
|
inline |
Definition at line 699 of file RDFGraph.h.
|
inline |
Definition at line 698 of file RDFGraph.h.
|
inline |
Definition at line 693 of file RDFGraph.h.
Referenced by llvm::rdf::Liveness::computeLiveIns(), and llvm::rdf::Liveness::computePhiInfo().
|
inline |
Definition at line 700 of file RDFGraph.h.
Referenced by llvm::rdf::Liveness::computeLiveIns().
|
inline |
Definition at line 694 of file RDFGraph.h.
Referenced by llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::resetKills(), and llvm::rdf::Liveness::resetLiveIns().
Definition at line 1162 of file RDFGraph.cpp.
References assert(), Cond, llvm::rdf::PhysicalRegisterInfo::equal_to(), getPRI(), llvm::rdf::NodeAttrs::Phi, RA, llvm::rdf::NodeAttrs::Stmt, and llvm::rdf::NodeAttrs::Use.
Referenced by getRelatedRefs().
Definition at line 1224 of file RDFGraph.cpp.
References llvm::rdf::NodeAddr< T >::Addr, assert(), RA, and llvm::rdf::NodeAttrs::Shadow.
|
inline |
Definition at line 697 of file RDFGraph.h.
Referenced by build(), getNextRelated(), isTracked(), and makeRegRef().
Definition at line 1135 of file RDFGraph.cpp.
References assert(), getNextRelated(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and RA.
Referenced by llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::computePhiInfo(), and llvm::rdf::Liveness::getAllReachingDefs().
|
inline |
Definition at line 695 of file RDFGraph.h.
|
inline |
Definition at line 696 of file RDFGraph.h.
Definition at line 1776 of file RDFGraph.cpp.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::RegisterRef::idx(), llvm::is_contained(), llvm::rdf::RegisterRef::isReg(), isTracked(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Definition at line 767 of file RDFGraph.cpp.
References P.
Definition at line 821 of file RDFGraph.h.
References llvm::rdf::NodeAddr< T >::Addr, and llvm::rdf::NodeAttrs::Code.
Referenced by llvm::rdf::Liveness::computeLiveIns(), llvm::rdf::Liveness::computePhiInfo(), and llvm::rdf::Liveness::getAllReachingDefs().
Definition at line 825 of file RDFGraph.h.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::NodeAttrs::Def, and llvm::rdf::NodeAttrs::Ref.
Referenced by llvm::rdf::Liveness::getNearestAliasedRef().
Definition at line 835 of file RDFGraph.h.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::NodeAttrs::Code, and llvm::rdf::NodeAttrs::Phi.
Definition at line 840 of file RDFGraph.h.
References llvm::rdf::NodeAttrs::Preserving, and llvm::rdf::NodeAttrs::Undef.
Referenced by llvm::rdf::Liveness::getAllReachedUses(), and llvm::rdf::Liveness::getAllReachingDefs().
Definition at line 817 of file RDFGraph.h.
References llvm::rdf::NodeAddr< T >::Addr, and llvm::rdf::NodeAttrs::Ref.
Referenced by llvm::rdf::Liveness::computeLiveIns(), and llvm::rdf::Liveness::computePhiInfo().
bool llvm::rdf::DataFlowGraph::isTracked | ( | RegisterRef | RR | ) | const |
Definition at line 1772 of file RDFGraph.cpp.
References llvm::rdf::disjoint(), and getPRI().
Referenced by build(), and hasUntrackedRef().
Definition at line 830 of file RDFGraph.h.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::NodeAttrs::Ref, and llvm::rdf::NodeAttrs::Use.
RegisterRef llvm::rdf::DataFlowGraph::makeRegRef | ( | const MachineOperand & | Op | ) | const |
Definition at line 992 of file RDFGraph.cpp.
References assert(), llvm::LaneBitmask::getAll(), getPRI(), and makeRegRef().
RegisterRef llvm::rdf::DataFlowGraph::makeRegRef | ( | unsigned | Reg, |
unsigned | Sub | ||
) | const |
Definition at line 984 of file RDFGraph.cpp.
References assert(), llvm::TargetRegisterInfo::getSubReg(), llvm::rdf::RegisterRef::isMaskId(), llvm::rdf::RegisterRef::isRegId(), and Reg.
Referenced by makeRegRef().
void llvm::rdf::DataFlowGraph::markBlock | ( | NodeId | B, |
DefStackMap & | DefM | ||
) |
Definition at line 1001 of file RDFGraph.cpp.
|
inline |
Definition at line 781 of file RDFGraph.h.
References llvm::rdf::LaneMaskIndex::getIndexForLaneMask(), llvm::rdf::RegisterRef::Mask, and llvm::rdf::RegisterRef::Reg.
|
inline |
Definition at line 784 of file RDFGraph.h.
References llvm::rdf::LaneMaskIndex::getIndexForLaneMask(), llvm::rdf::RegisterRef::Mask, and llvm::rdf::RegisterRef::Reg.
Definition at line 683 of file RDFGraph.h.
void llvm::rdf::DataFlowGraph::pushAllDefs | ( | Instr | IA, |
DefStackMap & | DM | ||
) |
Definition at line 1026 of file RDFGraph.cpp.
void llvm::rdf::DataFlowGraph::releaseBlock | ( | NodeId | B, |
DefStackMap & | DefM | ||
) |
Definition at line 807 of file RDFGraph.h.
Definition at line 801 of file RDFGraph.h.
|
inline |
Definition at line 787 of file RDFGraph.h.
References llvm::rdf::LaneMaskIndex::getLaneMaskForIndex(), llvm::rdf::PackedRegisterRef::MaskId, and llvm::rdf::PackedRegisterRef::Reg.