Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::rdf::Liveness Struct Reference

#include "llvm/CodeGen/RDFLiveness.h"

Public Types

using LiveMapType = RegisterAggrMap<MachineBasicBlock *>
using NodeRef = detail::NodeRef
using NodeRefSet = std::unordered_set<NodeRef>
using RefMap = std::unordered_map<RegisterId, NodeRefSet>

Public Member Functions

 Liveness (MachineRegisterInfo &mri, const DataFlowGraph &g)
NodeList getAllReachingDefs (RegisterRef RefRR, NodeAddr< RefNode * > RefA, bool TopShadows, bool FullChain, const RegisterAggr &DefRRs)
NodeList getAllReachingDefs (NodeAddr< RefNode * > RefA)
NodeList getAllReachingDefs (RegisterRef RefRR, NodeAddr< RefNode * > RefA)
NodeSet getAllReachedUses (RegisterRef RefRR, NodeAddr< DefNode * > DefA, const RegisterAggr &DefRRs)
NodeSet getAllReachedUses (RegisterRef RefRR, NodeAddr< DefNode * > DefA)
std::pair< NodeSet, boolgetAllReachingDefsRec (RegisterRef RefRR, NodeAddr< RefNode * > RefA, NodeSet &Visited, const NodeSet &Defs)
NodeAddr< RefNode * > getNearestAliasedRef (RegisterRef RefRR, NodeAddr< InstrNode * > IA)
 Find the nearest ref node aliased to RefRR, going upwards in the data flow, starting from the instruction immediately preceding Inst.
LiveMapTypegetLiveMap ()
const LiveMapTypegetLiveMap () const
const RefMapgetRealUses (NodeId P) const
void computePhiInfo ()
void computeLiveIns ()
void resetLiveIns ()
void resetKills ()
void resetKills (MachineBasicBlock *B)
void trace (bool T)

Detailed Description

Definition at line 55 of file RDFLiveness.h.

Member Typedef Documentation

◆ LiveMapType

◆ NodeRef

Definition at line 58 of file RDFLiveness.h.

◆ NodeRefSet

using llvm::rdf::Liveness::NodeRefSet = std::unordered_set<NodeRef>

Definition at line 59 of file RDFLiveness.h.

◆ RefMap

using llvm::rdf::Liveness::RefMap = std::unordered_map<RegisterId, NodeRefSet>

Definition at line 60 of file RDFLiveness.h.

Constructor & Destructor Documentation

◆ Liveness()

llvm::rdf::Liveness::Liveness ( MachineRegisterInfo & mri,
const DataFlowGraph & g )
inline

Definition at line 62 of file RDFLiveness.h.

References g().

Member Function Documentation

◆ computeLiveIns()

◆ computePhiInfo()

◆ getAllReachedUses() [1/2]

NodeSet llvm::rdf::Liveness::getAllReachedUses ( RegisterRef RefRR,
NodeAddr< DefNode * > DefA )
inline

Definition at line 82 of file RDFLiveness.h.

References getAllReachedUses().

◆ getAllReachedUses() [2/2]

◆ getAllReachingDefs() [1/3]

NodeList llvm::rdf::Liveness::getAllReachingDefs ( NodeAddr< RefNode * > RefA)
inline

Definition at line 70 of file RDFLiveness.h.

References llvm::rdf::NodeAddr< T >::Addr, and getAllReachingDefs().

◆ getAllReachingDefs() [2/3]

NodeList llvm::rdf::Liveness::getAllReachingDefs ( RegisterRef RefRR,
NodeAddr< RefNode * > RefA )
inline

Definition at line 75 of file RDFLiveness.h.

References getAllReachingDefs().

◆ getAllReachingDefs() [3/3]

◆ getAllReachingDefsRec()

std::pair< NodeSet, bool > llvm::rdf::Liveness::getAllReachingDefsRec ( RegisterRef RefRR,
NodeAddr< RefNode * > RefA,
NodeSet & Visited,
const NodeSet & Defs )

Definition at line 304 of file RDFLiveness.cpp.

References MaxRecNest.

◆ getLiveMap() [1/2]

LiveMapType & llvm::rdf::Liveness::getLiveMap ( )
inline

Definition at line 94 of file RDFLiveness.h.

◆ getLiveMap() [2/2]

const LiveMapType & llvm::rdf::Liveness::getLiveMap ( ) const
inline

Definition at line 95 of file RDFLiveness.h.

◆ getNearestAliasedRef()

NodeAddr< RefNode * > llvm::rdf::Liveness::getNearestAliasedRef ( RegisterRef RefRR,
NodeAddr< InstrNode * > IA )

Find the nearest ref node aliased to RefRR, going upwards in the data flow, starting from the instruction immediately preceding Inst.

Definition at line 357 of file RDFLiveness.cpp.

References llvm::rdf::NodeAddr< T >::Addr, B(), llvm::rdf::NodeAttrs::Clobbering, I, llvm::rdf::NodeAddr< T >::Id, llvm::make_range(), N, and T.

◆ getRealUses()

const RefMap & llvm::rdf::Liveness::getRealUses ( NodeId P) const
inline

Definition at line 97 of file RDFLiveness.h.

References F, and P.

◆ resetKills() [1/2]

void llvm::rdf::Liveness::resetKills ( )

Definition at line 905 of file RDFLiveness.cpp.

References B(), and resetKills().

Referenced by resetKills().

◆ resetKills() [2/2]

◆ resetLiveIns()

void llvm::rdf::Liveness::resetLiveIns ( )

Definition at line 890 of file RDFLiveness.cpp.

References B(), I, llvm::rdf::RegisterAggr::refs(), and T.

◆ trace()

void llvm::rdf::Liveness::trace ( bool T)
inline

Definition at line 108 of file RDFLiveness.h.

References T.


The documentation for this struct was generated from the following files: