LLVM
8.0.1
|
#include "Target/Hexagon/RDFCopy.h"
Public Types | |
using | EqualityMap = std::map< RegisterRef, RegisterRef > |
Public Member Functions | |
CopyPropagation (DataFlowGraph &dfg) | |
virtual | ~CopyPropagation ()=default |
bool | run () |
void | trace (bool On) |
bool | trace () const |
DataFlowGraph & | getDFG () |
virtual bool | interpretAsCopy (const MachineInstr *MI, EqualityMap &EM) |
using llvm::rdf::CopyPropagation::EqualityMap = std::map<RegisterRef, RegisterRef> |
|
inline |
Definition at line 29 of file RDFCopy.h.
References run(), and ~CopyPropagation().
|
virtualdefault |
Referenced by CopyPropagation().
|
inline |
|
virtual |
Definition at line 41 of file RDFCopy.cpp.
References llvm::rdf::NodeAddr< T >::Addr, assert(), B, llvm::rdf::NodeAttrs::Def, llvm::rdf::DataFlowGraph::findBlock(), llvm::rdf::StmtNode::getCode(), llvm::rdf::NodeBase::getKind(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::rdf::Liveness::getNearestAliasedRef(), llvm::MachineDominatorTree::getNode(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::rdf::RefNode::getReachingDef(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::rdf::DataFlowGraph::getTRI(), I, llvm::rdf::NodeAddr< T >::Id, llvm::rdf::DataFlowGraph::IsCode(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm_unreachable, llvm::rdf::DataFlowGraph::makeRegRef(), llvm::rdf::CodeNode::members(), N, RA, llvm::rdf::RegisterRef::Reg, llvm::rdf::NodeAttrs::Stmt, TRI, and llvm::rdf::NodeAttrs::Use.
bool CopyPropagation::run | ( | ) |
Definition at line 102 of file RDFCopy.cpp.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::DataFlowGraph::addr(), assert(), C, CpLimit, llvm::dbgs(), F(), R600_InstFlag::FC, llvm::rdf::NodeAttrs::Fixed, llvm::MachineFunction::front(), llvm::rdf::StmtNode::getCode(), llvm::rdf::DataFlowGraph::getMF(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::rdf::InstrNode::getOwner(), llvm::rdf::RefNode::getSibling(), llvm::TargetRegisterInfo::getSubRegIndexLaneMask(), llvm::rdf::DataFlowGraph::getTRI(), I, llvm::rdf::NodeAddr< T >::Id, llvm::rdf::DataFlowGraph::IsCode(), llvm::rdf::DataFlowGraph::IsDef(), llvm::MachineOperand::isTied(), llvm::MCSubRegIndexIterator::isValid(), llvm::TargetRegisterClass::LaneMask, llvm_unreachable, llvm::rdf::CodeNode::members_if(), N, llvm::rdf::NodeAttrs::PhiRef, llvm::MachineOperand::setReg(), llvm::MachineOperand::setSubReg(), llvm::rdf::NodeAttrs::Stmt, trace(), TRI, and llvm::rdf::DataFlowGraph::unlinkUse().
Referenced by CopyPropagation().
|
inline |