Home
last modified time | relevance | path

Searched refs:SUnit (Results 1 – 25 of 140) sorted by relevance

123456

/external/llvm/include/llvm/CodeGen/
DResourcePriorityQueue.h31 struct resource_sort : public std::binary_function<SUnit*, SUnit*, bool> {
35 bool operator()(const SUnit* left, const SUnit* right) const;
40 std::vector<SUnit> *SUnits;
49 std::vector<SUnit*> Queue;
71 std::vector<SUnit*> Packet;
82 void initNodes(std::vector<SUnit> &sunits) override;
84 void addNode(const SUnit *SU) override { in addNode()
88 void updateNode(const SUnit *SU) override {} in updateNode()
106 int SUSchedulingCost (SUnit *SU);
110 void initNumRegDefsLeft(SUnit *SU);
[all …]
DScheduleDAG.h28 class SUnit; variable
76 PointerIntPair<SUnit *, 2, Kind> Dep;
101 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep()
119 SDep(SUnit *S, OrderKind kind) in SDep()
149 SUnit *getSUnit() const;
152 void setSUnit(SUnit *SU);
244 class SUnit {
251 SUnit *OrigNode; // If not this, the node from which
308 SUnit(SDNode *node, unsigned nodenum)
324 SUnit(MachineInstr *instr, unsigned nodenum)
[all …]
DMachineScheduler.h205 virtual SUnit *pickNode(bool &IsTopNode) = 0;
212 virtual void schedNode(SUnit *SU, bool IsTopNode) = 0;
216 virtual void releaseTopNode(SUnit *SU) = 0;
219 virtual void releaseBottomNode(SUnit *SU) = 0;
246 const SUnit *NextClusterPred;
247 const SUnit *NextClusterSucc;
286 bool canAddEdge(SUnit *SuccSU, SUnit *PredSU);
293 bool addEdge(SUnit *SuccSU, const SDep &PredDep);
314 const SUnit *getNextClusterPred() const { return NextClusterPred; } in getNextClusterPred()
316 const SUnit *getNextClusterSucc() const { return NextClusterSucc; } in getNextClusterSucc()
[all …]
DScheduleDAGInstrs.h38 SUnit *SU;
40 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU) in VReg2SUnit()
53 unsigned OperandIndex, SUnit *SU) in VReg2SUnitOperIdx()
60 SUnit *SU;
64 PhysRegSUOper(SUnit *su, int op, unsigned R): SU(su), OpIdx(op), Reg(R) {} in PhysRegSUOper()
139 DenseMap<MachineInstr*, SUnit*> MISUnitMap;
168 SUnit *BarrierChain;
177 typedef std::list<SUnit *> SUList;
190 void addChainDependency(SUnit *SUa, SUnit *SUb,
194 void addChainDependencies(SUnit *SU, SUList &sus, unsigned Latency) { in addChainDependencies()
[all …]
DLatencyPriorityQueue.h25 struct latency_sort : public std::binary_function<SUnit*, SUnit*, bool> {
29 bool operator()(const SUnit* left, const SUnit* right) const;
34 std::vector<SUnit> *SUnits;
43 std::vector<SUnit*> Queue;
52 void initNodes(std::vector<SUnit> &sunits) override { in initNodes()
57 void addNode(const SUnit *SU) override { in addNode()
61 void updateNode(const SUnit *SU) override { in updateNode()
80 void push(SUnit *U) override;
82 SUnit *pop() override;
84 void remove(SUnit *SU) override;
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DResourcePriorityQueue.h35 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
40 std::vector<SUnit> *SUnits;
49 std::vector<SUnit*> Queue;
71 std::vector<SUnit*> Packet;
82 void initNodes(std::vector<SUnit> &sunits) override;
84 void addNode(const SUnit *SU) override { in addNode()
88 void updateNode(const SUnit *SU) override {} in updateNode()
106 int SUSchedulingCost (SUnit *SU);
110 void initNumRegDefsLeft(SUnit *SU);
111 void updateNumRegDefsLeft(SUnit *SU);
[all …]
DScheduleDAG.h42 class SUnit; variable
81 PointerIntPair<SUnit *, 2, Kind> Dep;
105 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep()
124 SDep(SUnit *S, OrderKind kind) in SDep()
153 SUnit *getSUnit() const;
156 void setSUnit(SUnit *SU);
247 class SUnit {
255 SUnit *OrigNode = nullptr; ///< If not this, the node from which this node
313 SUnit(SDNode *node, unsigned nodenum)
324 SUnit(MachineInstr *instr, unsigned nodenum)
[all …]
DScheduleDAGInstrs.h55 SUnit *SU;
57 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU) in VReg2SUnit()
70 unsigned OperandIndex, SUnit *SU) in VReg2SUnitOperIdx()
77 SUnit *SU;
81 PhysRegSUOper(SUnit *su, int op, unsigned R): SU(su), OpIdx(op), Reg(R) {} in PhysRegSUOper()
158 DenseMap<MachineInstr*, SUnit*> MISUnitMap;
182 SUnit *BarrierChain = nullptr;
190 using SUList = std::list<SUnit *>;
206 void addChainDependency(SUnit *SUa, SUnit *SUb,
210 void addChainDependencies(SUnit *SU, SUList &SUs, unsigned Latency) { in addChainDependencies()
[all …]
DMachineScheduler.h238 virtual SUnit *pickNode(bool &IsTopNode) = 0;
245 virtual void schedNode(SUnit *SU, bool IsTopNode) = 0;
249 virtual void releaseTopNode(SUnit *SU) = 0;
253 virtual void releaseBottomNode(SUnit *SU) = 0;
280 const SUnit *NextClusterPred = nullptr;
281 const SUnit *NextClusterSucc = nullptr;
323 bool canAddEdge(SUnit *SuccSU, SUnit *PredSU);
330 bool addEdge(SUnit *SuccSU, const SDep &PredDep);
354 const SUnit *getNextClusterPred() const { return NextClusterPred; } in getNextClusterPred()
356 const SUnit *getNextClusterSucc() const { return NextClusterSucc; } in getNextClusterSucc()
[all …]
DLatencyPriorityQueue.h30 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
35 std::vector<SUnit> *SUnits;
44 std::vector<SUnit*> Queue;
53 void initNodes(std::vector<SUnit> &sunits) override { in initNodes()
58 void addNode(const SUnit *SU) override { in addNode()
62 void updateNode(const SUnit *SU) override { in updateNode()
81 void push(SUnit *U) override;
83 SUnit *pop() override;
85 void remove(SUnit *SU) override;
95 void scheduledNode(SUnit *SU) override;
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DScheduleDAG.cpp62 EntrySU = SUnit(); in clearDAG()
63 ExitSU = SUnit(); in clearDAG()
106 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
117 SUnit *PredSU = PredDep.getSUnit(); in addPred()
135 SUnit *N = D.getSUnit(); in addPred()
174 void SUnit::removePred(const SDep &D) { in removePred()
182 SUnit *N = D.getSUnit(); in removePred()
216 void SUnit::setDepthDirty() { in setDepthDirty()
218 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
221 SUnit *SU = WorkList.pop_back_val(); in setDepthDirty()
[all …]
DLatencyPriorityQueue.cpp24 bool latency_sort::operator()(const SUnit *LHS, const SUnit *RHS) const { in operator ()()
57 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred()
58 SUnit *OnlyAvailablePred = nullptr; in getSingleUnscheduledPred()
59 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in getSingleUnscheduledPred()
61 SUnit &Pred = *I->getSUnit(); in getSingleUnscheduledPred()
74 void LatencyPriorityQueue::push(SUnit *SU) { in push()
78 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in push()
93 void LatencyPriorityQueue::scheduledNode(SUnit *SU) { in scheduledNode()
94 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in scheduledNode()
106 void LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(SUnit *SU) { in AdjustPriorityOfUnscheduledPreds()
[all …]
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DScheduleDAG.h28 class SUnit; variable
57 PointerIntPair<SUnit *, 2, Kind> Dep;
95 SDep(SUnit *S, Kind kind, unsigned latency = 1, unsigned Reg = 0,
154 SUnit *getSUnit() const { in getSUnit()
159 void setSUnit(SUnit *SU) { in setSUnit()
228 class SUnit {
233 SUnit *OrigNode; // If not this, the node from which
279 SUnit(SDNode *node, unsigned nodenum)
293 SUnit(MachineInstr *instr, unsigned nodenum)
306 SUnit()
[all …]
DLatencyPriorityQueue.h25 struct latency_sort : public std::binary_function<SUnit*, SUnit*, bool> {
29 bool operator()(const SUnit* left, const SUnit* right) const;
34 std::vector<SUnit> *SUnits;
43 std::vector<SUnit*> Queue;
52 void initNodes(std::vector<SUnit> &sunits) { in initNodes()
57 void addNode(const SUnit *SU) { in addNode()
61 void updateNode(const SUnit *SU) { in updateNode()
80 virtual void push(SUnit *U);
82 virtual SUnit *pop();
84 virtual void remove(SUnit *SU);
[all …]
/external/llvm/lib/CodeGen/
DScheduleDAG.cpp52 EntrySU = SUnit(); in clearDAG()
53 ExitSU = SUnit(); in clearDAG()
65 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
76 SUnit *PredSU = I->getSUnit(); in addPred()
95 SUnit *N = D.getSUnit(); in addPred()
133 void SUnit::removePred(const SDep &D) { in removePred()
141 SUnit *N = D.getSUnit(); in removePred()
178 void SUnit::setDepthDirty() { in setDepthDirty()
180 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
183 SUnit *SU = WorkList.pop_back_val(); in setDepthDirty()
[all …]
DLatencyPriorityQueue.cpp23 bool latency_sort::operator()(const SUnit *LHS, const SUnit *RHS) const { in operator ()()
56 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred()
57 SUnit *OnlyAvailablePred = nullptr; in getSingleUnscheduledPred()
58 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in getSingleUnscheduledPred()
60 SUnit &Pred = *I->getSUnit(); in getSingleUnscheduledPred()
73 void LatencyPriorityQueue::push(SUnit *SU) { in push()
77 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in push()
92 void LatencyPriorityQueue::scheduledNode(SUnit *SU) { in scheduledNode()
93 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in scheduledNode()
105 void LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(SUnit *SU) { in AdjustPriorityOfUnscheduledPreds()
[all …]
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DScheduleDAG.cpp56 if (SUnit *SU = Sequence[i]) in dumpSchedule()
73 EntrySU = SUnit(); in Run()
74 ExitSU = SUnit(); in Run()
88 bool SUnit::addPred(const SDep &D) { in addPred()
97 SUnit *N = D.getSUnit(); in addPred()
125 void SUnit::removePred(const SDep &D) { in removePred()
134 SUnit *N = D.getSUnit(); in removePred()
168 void SUnit::setDepthDirty() { in setDepthDirty()
170 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
173 SUnit *SU = WorkList.pop_back_val(); in setDepthDirty()
[all …]
DLatencyPriorityQueue.cpp22 bool latency_sort::operator()(const SUnit *LHS, const SUnit *RHS) const { in operator ()()
55 SUnit *LatencyPriorityQueue::getSingleUnscheduledPred(SUnit *SU) { in getSingleUnscheduledPred()
56 SUnit *OnlyAvailablePred = 0; in getSingleUnscheduledPred()
57 for (SUnit::const_pred_iterator I = SU->Preds.begin(), E = SU->Preds.end(); in getSingleUnscheduledPred()
59 SUnit &Pred = *I->getSUnit(); in getSingleUnscheduledPred()
72 void LatencyPriorityQueue::push(SUnit *SU) { in push()
76 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in push()
91 void LatencyPriorityQueue::ScheduledNode(SUnit *SU) { in ScheduledNode()
92 for (SUnit::const_succ_iterator I = SU->Succs.begin(), E = SU->Succs.end(); in ScheduledNode()
104 void LatencyPriorityQueue::AdjustPriorityOfUnscheduledPreds(SUnit *SU) { in AdjustPriorityOfUnscheduledPreds()
[all …]
/external/swiftshader/third_party/LLVM/lib/CodeGen/SelectionDAG/
DScheduleDAGRRList.cpp139 std::vector<SUnit*> PendingQueue;
158 std::vector<SUnit*> LiveRegDefs;
159 std::vector<SUnit*> LiveRegGens;
190 bool IsReachable(const SUnit *SU, const SUnit *TargetSU) { in IsReachable()
196 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) { in WillCreateCycle()
203 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
211 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
217 bool isReady(SUnit *SU) { in isReady()
222 void ReleasePred(SUnit *SU, const SDep *PredEdge);
223 void ReleasePredecessors(SUnit *SU);
[all …]
DScheduleDAGFast.cpp43 SmallVector<SUnit *, 16> Queue;
47 void push(SUnit *U) { in push()
51 SUnit *pop() { in pop()
53 SUnit *V = Queue.back(); in pop()
71 std::vector<SUnit*> LiveRegDefs;
82 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
88 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
93 void ReleasePred(SUnit *SU, SDep *PredEdge);
94 void ReleasePredecessors(SUnit *SU, unsigned CurCycle);
95 void ScheduleNodeBottomUp(SUnit*, unsigned);
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/SelectionDAG/
DScheduleDAGRRList.cpp151 std::vector<SUnit *> PendingQueue;
170 std::unique_ptr<SUnit*[]> LiveRegDefs;
171 std::unique_ptr<SUnit*[]> LiveRegGens;
175 SmallVector<SUnit*, 4> Interferences;
177 using LRegsMapT = DenseMap<SUnit *, SmallVector<unsigned, 4>>;
187 DenseMap<SUnit*, SUnit*> CallSeqEndForStart;
213 bool IsReachable(const SUnit *SU, const SUnit *TargetSU) { in IsReachable()
219 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) { in WillCreateCycle()
226 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
234 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
[all …]
/external/llvm/lib/CodeGen/SelectionDAG/
DScheduleDAGRRList.cpp125 std::vector<SUnit*> PendingQueue;
144 std::unique_ptr<SUnit*[]> LiveRegDefs;
145 std::unique_ptr<SUnit*[]> LiveRegGens;
149 SmallVector<SUnit*, 4> Interferences;
150 typedef DenseMap<SUnit*, SmallVector<unsigned, 4> > LRegsMapT;
159 DenseMap<SUnit*, SUnit*> CallSeqEndForStart;
186 bool IsReachable(const SUnit *SU, const SUnit *TargetSU) { in IsReachable()
192 bool WillCreateCycle(SUnit *SU, SUnit *TargetSU) { in WillCreateCycle()
199 void AddPred(SUnit *SU, const SDep &D) { in AddPred()
207 void RemovePred(SUnit *SU, const SDep &D) { in RemovePred()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AMDGPU/
DR600MachineScheduler.h54 std::vector<SUnit *> Available[IDLast], Pending[IDLast];
55 std::vector<SUnit *> AvailableAlus[AluLast];
56 std::vector<SUnit *> PhysicalRegCopy;
74 SUnit *pickNode(bool &IsTopNode) override;
75 void schedNode(SUnit *SU, bool IsTopNode) override;
76 void releaseTopNode(SUnit *SU) override;
77 void releaseBottomNode(SUnit *SU) override;
83 int getInstKind(SUnit *SU);
85 AluKind getAluKind(SUnit *SU) const;
88 SUnit *AttemptFillSlot (unsigned Slot, bool AnyAlu);
[all …]
DGCNILPSched.cpp24 SUnit *SU;
26 Candidate(SUnit *SU_) in Candidate()
41 unsigned getNodePriority(const SUnit *SU) const;
43 const SUnit *pickBest(const SUnit *left, const SUnit *right);
48 void releasePredecessors(const SUnit* SU);
51 std::vector<const SUnit*> schedule(ArrayRef<const SUnit*> TopRoots,
59 CalcNodeSethiUllmanNumber(const SUnit *SU, std::vector<unsigned> &SUNumbers) { in CalcNodeSethiUllmanNumber()
67 SUnit *PredSU = Pred.getSUnit(); in CalcNodeSethiUllmanNumber()
87 unsigned GCNILPScheduler::getNodePriority(const SUnit *SU) const { in getNodePriority()
107 static unsigned closestSucc(const SUnit *SU) { in closestSucc()
[all …]
/external/llvm/lib/Target/AMDGPU/
DR600MachineScheduler.h53 std::vector<SUnit *> Available[IDLast], Pending[IDLast];
54 std::vector<SUnit *> AvailableAlus[AluLast];
55 std::vector<SUnit *> PhysicalRegCopy;
76 SUnit *pickNode(bool &IsTopNode) override;
77 void schedNode(SUnit *SU, bool IsTopNode) override;
78 void releaseTopNode(SUnit *SU) override;
79 void releaseBottomNode(SUnit *SU) override;
85 int getInstKind(SUnit *SU);
87 AluKind getAluKind(SUnit *SU) const;
90 SUnit *AttemptFillSlot (unsigned Slot, bool AnyAlu);
[all …]

123456