/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | RDFDeadCode.cpp | 58 bool DeadCodeElimination::isLiveInstr(NodeAddr<StmtNode *> S) const { in isLiveInstr() 83 void DeadCodeElimination::scanInstr(NodeAddr<InstrNode*> IA, in scanInstr() 89 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) { in scanInstr() 95 void DeadCodeElimination::processDef(NodeAddr<DefNode*> DA, in processDef() 97 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in processDef() 98 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in processDef() 102 for (NodeAddr<DefNode*> TA : DFG.getRelatedRefs(IA, DA)) in processDef() 106 void DeadCodeElimination::processUse(NodeAddr<UseNode*> UA, in processUse() 108 for (NodeAddr<DefNode*> DA : LV.getAllReachingDefs(UA)) { in processUse() 129 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) in collect() [all …]
|
H A D | HexagonOptAddrMode.cpp | 93 bool processBlock(NodeAddr<BlockNode *> BA); 95 NodeAddr<UseNode *> UseN, unsigned UseMOnum); 96 bool processAddUses(NodeAddr<StmtNode *> AddSN, MachineInstr *AddMI, 102 bool canRemoveAddasl(NodeAddr<StmtNode *> AddAslSN, MachineInstr &MI, 104 bool isSafeToExtLR(NodeAddr<StmtNode *> SN, MachineInstr *MI, 106 void getAllRealUses(NodeAddr<StmtNode *> SN, NodeList &UNodeList); 107 bool allValidCandidates(NodeAddr<StmtNode *> SA, NodeList &UNodeList); 112 bool changeAddAsl(NodeAddr<UseNode *> AddAslUN, MachineInstr *AddAslMI, 162 bool HexagonOptAddrMode::canRemoveAddasl(NodeAddr<StmtNode *> AddAslSN, in canRemoveAddasl() 173 for (NodeAddr<UseNode *> UA : AddAslSN.Addr->members_if(DFG->IsUse, *DFG)) { in canRemoveAddasl() [all …]
|
H A D | HexagonRDFOpt.cpp | 100 bool rewrite(NodeAddr<InstrNode*> IA, SetVector<NodeId> &Remove); 101 void removeOperand(NodeAddr<InstrNode*> IA, unsigned OpNum); 168 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in run() 170 NodeAddr<StmtNode*> SA = TA; in run() 171 for (NodeAddr<RefNode*> RA : SA.Addr->members(DFG)) { in run() 194 void HexagonDCE::removeOperand(NodeAddr<InstrNode*> IA, unsigned OpNum) { in removeOperand() 195 MachineInstr *MI = NodeAddr<StmtNode*>(IA).Addr->getCode(); in removeOperand() 206 for (NodeAddr<RefNode*> RA : Refs) in removeOperand() 211 for (NodeAddr<RefNode*> RA : Refs) { in removeOperand() 220 bool HexagonDCE::rewrite(NodeAddr<InstrNode*> IA, SetVector<NodeId> &Remove) { in rewrite() [all …]
|
H A D | RDFDeadCode.h | 58 bool isLiveInstr(NodeAddr<StmtNode*> S) const; 59 void scanInstr(NodeAddr<InstrNode*> IA, SetQueue<NodeId> &WorkQ); 60 void processDef(NodeAddr<DefNode*> DA, SetQueue<NodeId> &WorkQ); 61 void processUse(NodeAddr<UseNode*> UA, SetQueue<NodeId> &WorkQ);
|
H A D | RDFCopy.cpp | 65 void CopyPropagation::recordCopy(NodeAddr<StmtNode*> SA, EqualityMap &EM) { in recordCopy() 80 void CopyPropagation::updateMap(NodeAddr<InstrNode*> IA) { in updateMap() 82 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in updateMap() 106 NodeAddr<BlockNode*> BA = DFG.findBlock(B); in scanBlock() 109 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in scanBlock() 111 NodeAddr<StmtNode*> SA = IA; in scanBlock() 184 for (NodeAddr<DefNode*> DA : SA.Addr->members_if(DFG.IsDef, DFG)) { in run() 205 NodeAddr<InstrNode*> IA = UA.Addr->getOwner(DFG); in run() 216 << *NodeAddr<StmtNode*>(IA).Addr->getCode(); in run()
|
H A D | RDFCopy.h | 53 void recordCopy(NodeAddr<StmtNode*> SA, EqualityMap &EM); 54 void updateMap(NodeAddr<InstrNode*> IA);
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | RDFLiveness.cpp | 105 NodeAddr<RefNode *> RefA, bool TopShadows, in getAllReachingDefs() 129 if (NodeId RD = NodeAddr<RefNode *>(S).Addr->getReachingDef()) in getAllReachingDefs() 151 if (NodeId RD = NodeAddr<RefNode *>(S).Addr->getReachingDef()) in getAllReachingDefs() 159 auto Block = [this](NodeAddr<InstrNode *> IA) -> MachineBasicBlock * { in getAllReachingDefs() 161 return NodeAddr<StmtNode *>(IA).Addr->getCode()->getParent(); in getAllReachingDefs() 163 NodeAddr<PhiNode *> PA = IA; in getAllReachingDefs() 164 NodeAddr<BlockNode *> BA = PA.Addr->getOwner(DFG); in getAllReachingDefs() 172 std::map<NodeId, NodeAddr<InstrNode *>> Owners; in getAllReachingDefs() 180 NodeAddr<InstrNode *> IA = TA.Addr->getOwner(DFG); in getAllReachingDefs() 188 NodeAddr<InstrNode *> OA = DFG.addr<InstrNode *>(A); in getAllReachingDefs() [all …]
|
H A D | RDFGraph.cpp | 208 for (NodeAddr<T> A : P.List) { in operator <<() 1507 void DataFlowGraph::linkRefUp(Instr IA, NodeAddr<T> TA, DefStack &DS) { in linkRefUp() 1511 NodeAddr<T> TAP; in linkRefUp()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | RDFLiveness.h | 66 NodeList getAllReachingDefs(RegisterRef RefRR, NodeAddr<RefNode *> RefA, 70 NodeList getAllReachingDefs(NodeAddr<RefNode *> RefA) { 75 NodeList getAllReachingDefs(RegisterRef RefRR, NodeAddr<RefNode *> RefA) { 79 NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode *> DefA, 82 NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode *> DefA) { 87 NodeAddr<RefNode *> RefA, 91 NodeAddr<RefNode *> getNearestAliasedRef(RegisterRef RefRR, 92 NodeAddr<InstrNode *> IA); 151 getAllReachingDefsRecImpl(RegisterRef RefRR, NodeAddr<RefNode *> RefA,
|
H A D | RDFGraph.h | 344 template <typename T> struct NodeAddr { struct 345 NodeAddr() = default; 346 NodeAddr(T A, NodeId I) : Addr(A), Id(I) {} in NodeAddr() argument 351 NodeAddr(const NodeAddr<S> &NA) : Addr(static_cast<T>(NA.Addr)), Id(NA.Id) {} in NodeAddr() argument 353 bool operator==(const NodeAddr<T> &NA) const { 357 bool operator!=(const NodeAddr<T> &NA) const { // 381 using Node = NodeAddr<NodeBase *>; argument 383 using Ref = NodeAddr<RefNode *>; 384 using Def = NodeAddr<DefNode *>; 385 using Use = NodeAddr<UseNode *>; // This may conflict with llvm::Use. [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86LoadValueInjectionLoadHardening.cpp | 360 auto AnalyzeDef = [&](NodeAddr<DefNode *> SourceDef) { in getGadgetGraph() 362 std::function<void(NodeAddr<DefNode *>)> AnalyzeDefUseChain = in getGadgetGraph() 363 [&](NodeAddr<DefNode *> Def) { in getGadgetGraph() 373 NodeAddr<PhiNode *> Phi = Use.Addr->getOwner(DFG); in getGadgetGraph() 417 NodeAddr<InstrNode *> Owner{Use.Addr->getOwner(DFG)}; in getGadgetGraph() 469 NodeAddr<BlockNode *> EntryBlock = DFG.getFunc().Addr->getEntryBlock(DFG); in getGadgetGraph() 470 for (NodeAddr<PhiNode *> ArgPhi : in getGadgetGraph() 476 for (NodeAddr<BlockNode *> BA : DFG.getFunc().Addr->members(DFG)) { in getGadgetGraph() 477 for (NodeAddr<StmtNode *> SA : in getGadgetGraph()
|