Home
last modified time | relevance | path

Searched refs:CfgNode (Results 1 – 25 of 55) sorted by relevance

123

/third_party/skia/third_party/externals/swiftshader/third_party/subzero/src/
DIceCfgNode.h25 class CfgNode {
26 CfgNode() = delete;
27 CfgNode(const CfgNode &) = delete;
28 CfgNode &operator=(const CfgNode &) = delete;
31 static CfgNode *create(Cfg *Func, SizeT Number) { in create()
32 return new (Func->allocate<CfgNode>()) CfgNode(Func, Number); in create()
96 CfgNode *splitIncomingEdge(CfgNode *Pred, SizeT InEdgeIndex);
111 void doBranchOpt(const CfgNode *NextNode);
118 void addOutEdge(CfgNode *Out) { OutEdges.push_back(Out); } in addOutEdge()
119 void addInEdge(CfgNode *In) { InEdges.push_back(In); } in addInEdge()
[all …]
DIceCfgNode.cpp31 void CfgNode::appendInst(Inst *Instr) { in appendInst()
54 void CfgNode::replaceInEdge(CfgNode *Old, CfgNode *New) { in replaceInEdge()
85 void CfgNode::renumberInstructions() { in renumberInstructions()
95 void CfgNode::computePredecessors() { in computePredecessors()
96 for (CfgNode *Succ : OutEdges) in computePredecessors()
100 void CfgNode::computeSuccessors() { in computeSuccessors()
115 void CfgNode::enforcePhiConsistency() { in enforcePhiConsistency()
125 CfgNode *Label = Phi->getLabel(i); in enforcePhiConsistency()
127 for (CfgNode *InNode : getInEdges()) { in enforcePhiConsistency()
139 for (CfgNode *InNode : getInEdges()) { in enforcePhiConsistency()
[all …]
DIceInst.h138 virtual bool repointEdges(CfgNode *OldNode, CfgNode *NewNode) { in repointEdges()
385 static InstBr *create(Cfg *Func, Operand *Source, CfgNode *TargetTrue, in create()
386 CfgNode *TargetFalse) { in create()
391 static InstBr *create(Cfg *Func, CfgNode *Target) { in create()
399 CfgNode *getTargetTrue() const { return TargetTrue; } in getTargetTrue()
400 CfgNode *getTargetFalse() const { return TargetFalse; } in getTargetFalse()
401 CfgNode *getTargetUnconditional() const { in getTargetUnconditional()
407 bool repointEdges(CfgNode *OldNode, CfgNode *NewNode) override;
414 InstBr(Cfg *Func, Operand *Source, CfgNode *TargetTrue, CfgNode *TargetFalse);
416 InstBr(Cfg *Func, CfgNode *Target);
[all …]
DIceLiveness.h72 Variable *getVariable(SizeT LiveIndex, const CfgNode *Node) const;
79 SizeT getNumVarsInNode(const CfgNode *Node) const { in getNumVarsInNode()
82 SizeT &getNumNonDeadPhis(const CfgNode *Node) { in getNumNonDeadPhis()
85 LivenessBV &getLiveIn(const CfgNode *Node) { in getLiveIn()
90 LivenessBV &getLiveOut(const CfgNode *Node) { in getLiveOut()
96 LiveBeginEndMap *getLiveBegin(const CfgNode *Node) { in getLiveBegin()
101 LiveBeginEndMap *getLiveEnd(const CfgNode *Node) { in getLiveEnd()
DIceCfg.cpp79 for (CfgNode *Node : getNodes()) { in getFunctionNameAndSize()
97 CfgNode *Cfg::makeNode() { in makeNode()
99 auto *Node = CfgNode::create(this, LabelIndex); in makeNode()
243 for (CfgNode *Node : Nodes) { in computeInOutEdges()
258 CfgNode *Node = Nodes[Index]; in computeInOutEdges()
260 for (CfgNode *Succ : Node->getOutEdges()) { in computeInOutEdges()
279 for (CfgNode *Node : Nodes) in computeInOutEdges()
286 for (CfgNode *Node : Nodes) in renumberInstructions()
301 for (CfgNode *Node : Nodes) in placePhiLoads()
308 for (CfgNode *Node : Nodes) in placePhiStores()
[all …]
DIceLoopAnalyzer.h22 Loop(CfgNode *Header, CfgNode *PreHeader, CfgUnorderedSet<SizeT> Body) in Loop()
24 CfgNode *Header;
25 CfgNode *PreHeader;
DIceLoopAnalyzer.cpp56 explicit LoopNode(CfgNode *BB) : BB(BB) { reset(); } in LoopNode()
84 CfgNode *getNode() { return BB; } in getNode()
87 CfgNode *BB;
137 for (CfgNode *Succ : BB->getOutEdges()) { in hasSelfEdge()
154 for (CfgNode *Node : Nodes) in LoopAnalyzer()
268 CfgNode *Header = nullptr; in ComputeLoopInfo()
271 CfgNode *Cur = Func->getNodes()[NodeIndex]; in ComputeLoopInfo()
291 CfgNode *PreHeader = nullptr; in ComputeLoopInfo()
DIceInst.cpp304 InstBr::InstBr(Cfg *Func, Operand *Source, CfgNode *TargetTrue_, in InstBr()
305 CfgNode *TargetFalse_) in InstBr()
321 InstBr::InstBr(Cfg *Func, CfgNode *Target) in InstBr()
334 bool InstBr::repointEdges(CfgNode *OldNode, CfgNode *NewNode) { in repointEdges()
396 void InstPhi::addArgument(Operand *Source, CfgNode *Label) { in addArgument()
404 Operand *InstPhi::getOperandForTarget(CfgNode *Target) const { in getOperandForTarget()
415 void InstPhi::clearOperandForTarget(CfgNode *Target) { in clearOperandForTarget()
429 void InstPhi::livenessPhiOperand(LivenessBV &Live, CfgNode *Target, in livenessPhiOperand()
497 CfgNode *LabelDefault) in InstSwitch()
502 Labels = Func->allocateArrayOf<CfgNode *>(NumCases); in InstSwitch()
[all …]
DIceCfg.h88 void setEntryNode(CfgNode *EntryNode) { Entry = EntryNode; } in setEntryNode()
89 CfgNode *getEntryNode() const { return Entry; } in getEntryNode()
93 CfgNode *makeNode();
227 void setCurrentNode(const CfgNode *Node) { CurrentNode = Node; } in setCurrentNode()
229 const CfgNode *getCurrentNode() const { return CurrentNode; } in getCurrentNode()
309 CfgNode *Entry = nullptr; /// entry basic block
330 const CfgNode *CurrentNode = nullptr;
DIceVariableSplitting.cpp59 const CfgNode *MappedVarNode = nullptr;
64 const CfgNode *LastUseNode = nullptr;
76 void reset(const CfgNode *CurNode) { in reset()
151 const CfgNode *Node = nullptr;
171 void setNode(CfgNode *CurNode) { in setNode()
426 CfgNode *Node = nullptr;
517 for (CfgNode *Node : Func->getNodes()) { in splitBlockLocalVariables()
DIceTargetLowering.h79 void init(CfgNode *Node);
91 CfgNode *getNode() const { return Node; } in getNode()
115 CfgNode *Node = nullptr;
222 void lowerInst(CfgNode *Node, InstList::iterator Next, InstHighLevel *Instr);
230 virtual bool doBranchOpt(Inst * /*I*/, const CfgNode * /*NextNode*/) { in doBranchOpt() argument
329 virtual void initNodeForLowering(CfgNode *) {} in initNodeForLowering() argument
330 virtual void addProlog(CfgNode *Node) = 0;
331 virtual void addEpilog(CfgNode *Node) = 0;
DIceInstMIPS32.h302 bool repointEdges(CfgNode *, CfgNode *) override { return true; } in repointEdges() argument
804 static InstMIPS32Br *create(Cfg *Func, CfgNode *Target) { in create()
805 constexpr CfgNode *NoCondTarget = nullptr; in create()
811 static InstMIPS32Br *create(Cfg *Func, CfgNode *Target, in create()
813 constexpr CfgNode *NoCondTarget = nullptr; in create()
819 static InstMIPS32Br *create(Cfg *Func, CfgNode *TargetTrue, in create()
820 CfgNode *TargetFalse, Operand *Src0, in create()
827 static InstMIPS32Br *create(Cfg *Func, CfgNode *TargetTrue, in create()
828 CfgNode *TargetFalse, Operand *Src0, in create()
835 static InstMIPS32Br *create(Cfg *Func, CfgNode *TargetTrue, in create()
[all …]
DIcePhiLoweringImpl.h33 void prelowerPhis32Bit(TargetT *Target, CfgNode *Node, Cfg *Func) { in prelowerPhis32Bit()
47 CfgNode *Label = Phi->getLabel(I); in prelowerPhis32Bit()
63 CfgNode *Label = Phi->getLabel(I); in prelowerPhis32Bit()
DIceSwitchLowering.h43 CaseCluster(uint64_t Value, CfgNode *Target) in CaseCluster()
52 CfgNode *getTarget() const { in getTarget()
73 CfgNode *Target; /// Target for a range.
DIceTargetLoweringMIPS32.h55 void initNodeForLowering(CfgNode *Node) override { in initNodeForLowering()
63 bool doBranchOpt(Inst *Instr, const CfgNode *NextNode) override;
182 void _br(CfgNode *Target) { Context.insert<InstMIPS32Br>(Target); } in _br()
184 void _br(CfgNode *Target, const InstMIPS32Label *Label) { in _br()
188 void _br(CfgNode *TargetTrue, CfgNode *TargetFalse, Operand *Src0, in _br()
194 void _br(CfgNode *TargetTrue, CfgNode *TargetFalse, Operand *Src0, in _br()
199 void _br(CfgNode *TargetTrue, CfgNode *TargetFalse, Operand *Src0, in _br()
672 void addProlog(CfgNode *Node) override;
673 void addEpilog(CfgNode *Node) override;
836 void recordProducers(CfgNode *Node);
DIceOperand.cpp104 void LiveRange::addSegment(InstNumberT Start, InstNumberT End, CfgNode *Node) { in addSegment()
237 CfgNode *Node, bool IsImplicit) { in markUse()
293 CfgNode *Node) { in markDef()
393 CfgNode *EntryNode = Func->getEntryNode(); in init()
398 for (CfgNode *Node : Func->getNodes()) in init()
402 void VariablesMetadata::addNode(CfgNode *Node) { in addNode()
538 CfgNode *VariablesMetadata::getLocalUseNode(const Variable *Var) const { in getLocalUseNode()
DIceOperand.h624 void addSegment(InstNumberT Start, InstNumberT End, CfgNode *Node = nullptr);
625 void addSegment(RangeElementType Segment, CfgNode *Node = nullptr) {
649 CfgNode *getNodeForSegment(InstNumberT Begin) { in getNodeForSegment()
657 CfgUnorderedMap<InstNumberT, CfgNode *> NodeMap;
778 CfgNode *Node = nullptr) {
1053 CfgNode *getNode() const { return SingleUseNode; } in getNode()
1055 void markUse(MetadataKind TrackingKind, const Inst *Instr, CfgNode *Node,
1057 void markDef(MetadataKind TrackingKind, const Inst *Instr, CfgNode *Node);
1062 CfgNode *SingleUseNode = nullptr;
1063 CfgNode *SingleDefNode = nullptr;
[all …]
DWasmTranslator.cpp160 explicit OperandNode(CfgNode *Node) in OperandNode()
174 operator CfgNode *() const { in operator CfgNode*()
181 return reinterpret_cast<CfgNode *>(Data & ~NODE_FLAG); in operator CfgNode*()
197 CfgNode *toCfgNode() const { return static_cast<CfgNode *>(*this); } in toCfgNode()
300 Node Loop(CfgNode *Entry) { in Loop()
321 CfgNode *Control = Controls[i]; in Merge()
933 uint32_t InputCount(CfgNode *Node) const { return Node->getInEdges().size(); } in InputCount()
950 void AppendToMerge(CfgNode *Merge, CfgNode *From) const { in AppendToMerge()
988 CfgNode *SwitchNode = nullptr;
1268 CfgNode *Control() { in Control()
[all …]
DIceInstARM32.h1105 static InstARM32Br *create(Cfg *Func, CfgNode *TargetTrue, in create()
1106 CfgNode *TargetFalse, CondARM32::Cond Predicate) { in create()
1113 static InstARM32Br *create(Cfg *Func, CfgNode *Target) { in create()
1114 constexpr CfgNode *NoCondTarget = nullptr; in create()
1122 static InstARM32Br *create(Cfg *Func, CfgNode *Target, in create()
1125 constexpr CfgNode *NoUncondTarget = nullptr; in create()
1134 constexpr CfgNode *NoCondTarget = nullptr; in create()
1135 constexpr CfgNode *NoUncondTarget = nullptr; in create()
1139 const CfgNode *getTargetTrue() const { return TargetTrue; } in getTargetTrue()
1140 const CfgNode *getTargetFalse() const { return TargetFalse; } in getTargetFalse()
[all …]
DIceTargetLoweringARM32.h82 void initNodeForLowering(CfgNode *Node) override { in initNodeForLowering()
90 bool doBranchOpt(Inst *I, const CfgNode *NextNode) override;
163 void addProlog(CfgNode *Node) override;
164 void addEpilog(CfgNode *Node) override;
354 void _br(CfgNode *TargetTrue, CfgNode *TargetFalse, in _br()
358 void _br(CfgNode *Target) { Context.insert<InstARM32Br>(Target); } in _br()
359 void _br(CfgNode *Target, CondARM32::Cond Condition) { in _br()
572 explicit LowerInt1BranchTarget(CfgNode *const Target) in LowerInt1BranchTarget()
589 CfgNode *const NodeTarget = nullptr;
1140 void recordProducers(CfgNode *Node);
DIceTargetLoweringX8664.h92 void init(CfgNode *Node);
134 bool doBranchOpt(Inst *I, const CfgNode *NextNode) override;
245 void initNodeForLowering(CfgNode *Node) override;
247 void addProlog(CfgNode *Node) override;
251 void addEpilog(CfgNode *Node) override;
345 CfgNode *DefaultLabel = nullptr);
474 void _br(BrCond Condition, CfgNode *TargetTrue, CfgNode *TargetFalse) { in _br()
478 void _br(CfgNode *Target) { in _br()
481 void _br(BrCond Condition, CfgNode *Target) { in _br()
DIceTargetLoweringX8632.h91 void init(CfgNode *Node);
133 bool doBranchOpt(Inst *I, const CfgNode *NextNode) override;
246 void initNodeForLowering(CfgNode *Node) override;
251 void addProlog(CfgNode *Node) override;
255 void addEpilog(CfgNode *Node) override;
349 CfgNode *DefaultLabel = nullptr);
478 void _br(BrCond Condition, CfgNode *TargetTrue, CfgNode *TargetFalse) { in _br()
482 void _br(CfgNode *Target) { in _br()
485 void _br(BrCond Condition, CfgNode *Target) { in _br()
DIceInstMIPS32.cpp80 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue, in InstMIPS32Br()
81 const CfgNode *TargetFalse, in InstMIPS32Br()
86 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue, in InstMIPS32Br()
87 const CfgNode *TargetFalse, Operand *Src0, in InstMIPS32Br()
94 InstMIPS32Br::InstMIPS32Br(Cfg *Func, const CfgNode *TargetTrue, in InstMIPS32Br()
95 const CfgNode *TargetFalse, Operand *Src0, in InstMIPS32Br()
108 bool InstMIPS32Br::optimizeBranch(const CfgNode *NextNode) { in optimizeBranch()
144 bool InstMIPS32Br::repointEdges(CfgNode *OldNode, CfgNode *NewNode) { in repointEdges()
DIceConverter.cpp187 Ice::CfgNode *mapBasicBlockToNode(const BasicBlock *BB) { in mapBasicBlockToNode()
368 Ice::CfgNode *NodeThen = mapBasicBlockToNode(BBThen); in convertBrInstruction()
369 Ice::CfgNode *NodeElse = mapBasicBlockToNode(BBElse); in convertBrInstruction()
539 Ice::CfgNode *LabelDefault = mapBasicBlockToNode(Instr->getDefaultDest()); in convertSwitchInstruction()
547 Ice::CfgNode *CaseSuccessor = mapBasicBlockToNode(I.getCaseSuccessor()); in convertSwitchInstruction()
604 Ice::CfgNode *convertBasicBlock(const BasicBlock *BB) { in convertBasicBlock()
605 Ice::CfgNode *Node = mapBasicBlockToNode(BB); in convertBasicBlock()
651 std::map<const BasicBlock *, Ice::CfgNode *> NodeMap;
/third_party/skia/third_party/externals/swiftshader/src/Reactor/
DOptimizer.cpp132 Ice::CfgNode *entryBlock = function->getEntryNode(); in propagateAlloca()
203 Ice::CfgNode *entryBlock = function->getEntryNode(); in performScalarReplacementOfAggregates()
303 for(Ice::CfgNode *basicBlock : function->getNodes()) in eliminateDeadCode()
324 Ice::CfgNode *entryBlock = function->getEntryNode(); in eliminateUnitializedLoads()
388 for(Ice::CfgNode *block : function->getNodes()) in optimizeSingleBasicBlockLoadsStores()
472 for(Ice::CfgNode *basicBlock : function->getNodes()) in analyzeUses()

123