LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::rdf::Liveness Struct Reference

#include "Target/Hexagon/RDFLiveness.h"

Classes

struct  LiveMapType
 

Public Types

using NodeRef = std::pair< NodeId, LaneBitmask >
 
using NodeRefSet = std::set< NodeRef >
 
using RefMap = std::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. More...
 
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 34 of file RDFLiveness.h.

Member Typedef Documentation

◆ NodeRef

Definition at line 50 of file RDFLiveness.h.

◆ NodeRefSet

Definition at line 51 of file RDFLiveness.h.

◆ RefMap

Definition at line 53 of file RDFLiveness.h.

Constructor & Destructor Documentation

◆ Liveness()

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

Definition at line 55 of file RDFLiveness.h.

References getAllReachingDefs(), and TRI.

Member Function Documentation

◆ computeLiveIns()

void Liveness::computeLiveIns ( )

◆ computePhiInfo()

void Liveness::computePhiInfo ( )

◆ getAllReachedUses() [1/2]

NodeSet Liveness::getAllReachedUses ( RegisterRef  RefRR,
NodeAddr< DefNode *>  DefA,
const RegisterAggr DefRRs 
)

◆ getAllReachedUses() [2/2]

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

◆ getAllReachingDefs() [1/3]

NodeList Liveness::getAllReachingDefs ( RegisterRef  RefRR,
NodeAddr< RefNode *>  RefA,
bool  TopShadows,
bool  FullChain,
const RegisterAggr DefRRs 
)

◆ getAllReachingDefs() [2/3]

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

Definition at line 62 of file RDFLiveness.h.

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

◆ getAllReachingDefs() [3/3]

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

Definition at line 67 of file RDFLiveness.h.

References getAllReachedUses(), and getAllReachingDefs().

◆ getAllReachingDefsRec()

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

◆ getLiveMap() [1/2]

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

Definition at line 84 of file RDFLiveness.h.

◆ getLiveMap() [2/2]

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

Definition at line 85 of file RDFLiveness.h.

◆ getNearestAliasedRef()

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

◆ getRealUses()

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

Definition at line 87 of file RDFLiveness.h.

References B, computeLiveIns(), computePhiInfo(), F(), resetKills(), and resetLiveIns().

◆ resetKills() [1/2]

void Liveness::resetKills ( )

Definition at line 854 of file RDFLiveness.cpp.

References B.

Referenced by getRealUses().

◆ resetKills() [2/2]

void Liveness::resetKills ( MachineBasicBlock B)

◆ resetLiveIns()

void Liveness::resetLiveIns ( )

◆ trace()

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

Definition at line 98 of file RDFLiveness.h.

References llvm::NVPTX::PTXCvtMode::RN, T, and TRI.


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