LLVM
15.0.0git
|
#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 |
|
virtualdefault |
|
inline |
|
virtual |
Definition at line 40 of file RDFCopy.cpp.
References assert(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::rdf::DataFlowGraph::getTRI(), llvm::Register::isPhysicalRegister(), llvm_unreachable, llvm::rdf::DataFlowGraph::makeRegRef(), MI, llvm::rdf::RegisterRef::Reg, and TRI.
bool CopyPropagation::run | ( | ) |
Definition at line 101 of file RDFCopy.cpp.
References Addr, llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::DataFlowGraph::addr(), assert(), CpCount, CpLimit, llvm::M68kBeads::DA, llvm::dbgs(), F, R600_InstFlag::FC, llvm::rdf::NodeAttrs::Fixed, for, llvm::MachineFunction::front(), llvm::X86AS::FS, 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::TargetRegisterClass::LaneMask, llvm_unreachable, M, llvm::rdf::CodeNode::members_if(), N, llvm::rdf::NodeAttrs::PhiRef, S, llvm::rdf::NodeAttrs::Stmt, trace(), TRI, and llvm::rdf::DataFlowGraph::unlinkUse().
|
inline |