|
LLVM
4.0.0
|
#include <RDFCopy.h>
Public Types | |
| typedef std::map< RegisterRef, RegisterRef > | EqualityMap |
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) |
| typedef std::map<RegisterRef, RegisterRef> llvm::rdf::CopyPropagation::EqualityMap |
|
inline |
|
virtualdefault |
|
inline |
|
virtual |
Definition at line 29 of file RDFCopy.cpp.
References assert(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::rdf::DataFlowGraph::getTRI(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm_unreachable, llvm::rdf::DataFlowGraph::makeRegRef(), and llvm::rdf::RegisterRef::Reg.
| bool CopyPropagation::run | ( | ) |
Definition at line 119 of file RDFCopy.cpp.
References llvm::rdf::NodeAddr< T >::Addr, llvm::rdf::DataFlowGraph::addr(), assert(), C, CpCount, 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(), and llvm::rdf::DataFlowGraph::unlinkUse().
|
inline |
1.8.6