| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonOptAddrMode.cpp | 89 bool processBlock(NodeAddr<BlockNode *> BA); 91 NodeAddr<UseNode *> UseN, unsigned UseMOnum); 92 bool processAddBases(NodeAddr<StmtNode *> AddSN, MachineInstr *AddMI); 93 bool usedInLoadStore(NodeAddr<StmtNode *> CurrentInstSN, int64_t NewOffset); 96 std::vector<std::pair<NodeAddr<StmtNode *>, NodeAddr<UseNode *>>> 98 NodeAddr<StmtNode *> &UseSN); 101 bool processAddUses(NodeAddr<StmtNode *> AddSN, MachineInstr *AddMI, 107 bool canRemoveAddasl(NodeAddr<StmtNode *> AddAslSN, MachineInstr &MI, 109 bool isSafeToExtLR(NodeAddr<StmtNode *> SN, MachineInstr *MI, 111 void getAllRealUses(NodeAddr<StmtNode *> SN, NodeList &UNodeList); [all …]
|
| 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 | HexagonRDFOpt.cpp | 93 bool rewrite(NodeAddr<InstrNode*> IA, SetVector<NodeId> &Remove); 94 void removeOperand(NodeAddr<InstrNode*> IA, unsigned OpNum); 161 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in run() 163 NodeAddr<StmtNode*> SA = TA; in run() 164 for (NodeAddr<RefNode*> RA : SA.Addr->members(DFG)) { in run() 187 void HexagonDCE::removeOperand(NodeAddr<InstrNode*> IA, unsigned OpNum) { in removeOperand() 188 MachineInstr *MI = NodeAddr<StmtNode*>(IA).Addr->getCode(); in removeOperand() 199 for (NodeAddr<RefNode*> RA : Refs) in removeOperand() 204 for (NodeAddr<RefNode*> RA : Refs) { in removeOperand() 213 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 | 64 void CopyPropagation::recordCopy(NodeAddr<StmtNode*> SA, EqualityMap &EM) { in recordCopy() 79 void CopyPropagation::updateMap(NodeAddr<InstrNode*> IA) { in updateMap() 81 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in updateMap() 105 NodeAddr<BlockNode*> BA = DFG.findBlock(B); in scanBlock() 108 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in scanBlock() 110 NodeAddr<StmtNode*> SA = IA; in scanBlock() 183 for (NodeAddr<DefNode*> DA : SA.Addr->members_if(DFG.IsDef, DFG)) { in run() 204 NodeAddr<InstrNode*> IA = UA.Addr->getOwner(DFG); in run() 215 << *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 | 207 for (NodeAddr<T> A : P.List) { in operator <<() 1546 void DataFlowGraph::linkRefUp(Instr IA, NodeAddr<T> TA, DefStack &DS) { in linkRefUp() 1550 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() function 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 | 359 auto AnalyzeDef = [&](NodeAddr<DefNode *> SourceDef) { in getGadgetGraph() 361 std::function<void(NodeAddr<DefNode *>)> AnalyzeDefUseChain = in getGadgetGraph() 362 [&](NodeAddr<DefNode *> Def) { in getGadgetGraph() 372 NodeAddr<PhiNode *> Phi = Use.Addr->getOwner(DFG); in getGadgetGraph() 416 NodeAddr<InstrNode *> Owner{Use.Addr->getOwner(DFG)}; in getGadgetGraph() 467 NodeAddr<BlockNode *> EntryBlock = DFG.getFunc().Addr->getEntryBlock(DFG); in getGadgetGraph() 468 for (NodeAddr<PhiNode *> ArgPhi : in getGadgetGraph() 474 for (NodeAddr<BlockNode *> BA : DFG.getFunc().Addr->members(DFG)) { in getGadgetGraph() 475 for (NodeAddr<StmtNode *> SA : in getGadgetGraph()
|