Home
last modified time | relevance | path

Searched refs:NodeAddr (Results 1 – 11 of 11) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DRDFDeadCode.cpp58 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 DHexagonOptAddrMode.cpp93 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 DHexagonRDFOpt.cpp100 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 DRDFDeadCode.h58 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 DRDFCopy.cpp65 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 DRDFCopy.h53 void recordCopy(NodeAddr<StmtNode*> SA, EqualityMap &EM);
54 void updateMap(NodeAddr<InstrNode*> IA);
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DRDFLiveness.cpp105 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 DRDFGraph.cpp208 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 DRDFLiveness.h66 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 DRDFGraph.h344 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 DX86LoadValueInjectionLoadHardening.cpp360 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()