Home
last modified time | relevance | path

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

12345678

/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-10.0/llvm/include/llvm/CodeGen/
DResourcePriorityQueue.h34 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
39 std::vector<SUnit> *SUnits;
48 std::vector<SUnit*> Queue;
70 std::vector<SUnit*> Packet;
81 void initNodes(std::vector<SUnit> &sunits) override;
83 void addNode(const SUnit *SU) override { in addNode()
87 void updateNode(const SUnit *SU) override {} in updateNode()
105 int SUSchedulingCost (SUnit *SU);
109 void initNumRegDefsLeft(SUnit *SU);
110 void updateNumRegDefsLeft(SUnit *SU);
[all …]
DScheduleDAG.h41 class SUnit; variable
80 PointerIntPair<SUnit *, 2, Kind> Dep;
104 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep()
123 SDep(SUnit *S, OrderKind kind) in SDep()
152 SUnit *getSUnit() const;
155 void setSUnit(SUnit *SU);
242 class SUnit {
250 SUnit *OrigNode = nullptr; ///< If not this, the node from which this node
308 SUnit(SDNode *node, unsigned nodenum) in SUnit() function
319 SUnit(MachineInstr *instr, unsigned nodenum) in SUnit() function
[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 …]
DMachinePipeliner.h142 SetVector<SUnit *> NodeOrder;
150 DenseMap<SUnit *, std::pair<unsigned, int64_t>> InstrChanges;
161 std::vector<SUnit> &SUnits;
162 SetVector<SUnit *> Stack;
164 SmallVector<SmallPtrSet<SUnit *, 4>, 10> B;
172 Circuits(std::vector<SUnit> &SUs, ScheduleDAGTopologicalSort &Topo) in Circuits()
186 B.assign(SUnits.size(), SmallPtrSet<SUnit *, 4>()); in reset()
216 int getASAP(SUnit *Node) { return ScheduleInfo[Node->NodeNum].ASAP; } in getASAP()
219 int getALAP(SUnit *Node) { return ScheduleInfo[Node->NodeNum].ALAP; } in getALAP()
223 int getMOV(SUnit *Node) { return getALAP(Node) - getASAP(Node); } in getMOV()
[all …]
DLatencyPriorityQueue.h29 bool operator()(const SUnit* LHS, const SUnit* RHS) 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;
94 void scheduledNode(SUnit *SU) override;
[all …]
/external/llvm-project/llvm/include/llvm/CodeGen/
DScheduleDAG.h41 class SUnit; variable
80 PointerIntPair<SUnit *, 2, Kind> Dep;
104 SDep(SUnit *S, Kind kind, unsigned Reg) in SDep()
123 SDep(SUnit *S, OrderKind kind) in SDep()
152 SUnit *getSUnit() const;
155 void setSUnit(SUnit *SU);
242 class SUnit {
250 SUnit *OrigNode = nullptr; ///< If not this, the node from which this node
308 SUnit(SDNode *node, unsigned nodenum) in SUnit() function
319 SUnit(MachineInstr *instr, unsigned nodenum) in SUnit() function
[all …]
DResourcePriorityQueue.h34 bool operator()(const SUnit* LHS, const SUnit* RHS) const;
39 std::vector<SUnit> *SUnits;
48 std::vector<SUnit*> Queue;
70 std::vector<SUnit*> Packet;
81 void initNodes(std::vector<SUnit> &sunits) override;
83 void addNode(const SUnit *SU) override { in addNode()
87 void updateNode(const SUnit *SU) override {} in updateNode()
105 int SUSchedulingCost (SUnit *SU);
109 void initNumRegDefsLeft(SUnit *SU);
110 int regPressureDelta(SUnit *SU, bool RawPressure = false);
[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 …]
DMachinePipeliner.h136 SetVector<SUnit *> NodeOrder;
144 DenseMap<SUnit *, std::pair<unsigned, int64_t>> InstrChanges;
155 std::vector<SUnit> &SUnits;
156 SetVector<SUnit *> Stack;
158 SmallVector<SmallPtrSet<SUnit *, 4>, 10> B;
166 Circuits(std::vector<SUnit> &SUs, ScheduleDAGTopologicalSort &Topo) in Circuits()
180 B.assign(SUnits.size(), SmallPtrSet<SUnit *, 4>()); in reset()
210 int getASAP(SUnit *Node) { return ScheduleInfo[Node->NodeNum].ASAP; } in getASAP()
213 int getALAP(SUnit *Node) { return ScheduleInfo[Node->NodeNum].ALAP; } in getALAP()
217 int getMOV(SUnit *Node) { return getALAP(Node) - getASAP(Node); } in getMOV()
[all …]
DLatencyPriorityQueue.h29 bool operator()(const SUnit* LHS, const SUnit* RHS) 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;
94 void scheduledNode(SUnit *SU) override;
[all …]
/external/llvm-project/llvm/lib/CodeGen/
DScheduleDAG.cpp66 EntrySU = SUnit(); in clearDAG()
67 ExitSU = SUnit(); in clearDAG()
107 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
118 SUnit *PredSU = PredDep.getSUnit(); in addPred()
136 SUnit *N = D.getSUnit(); in addPred()
175 void SUnit::removePred(const SDep &D) { in removePred()
183 SUnit *N = D.getSUnit(); in removePred()
217 void SUnit::setDepthDirty() { in setDepthDirty()
219 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
222 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-10.0/llvm/lib/CodeGen/
DScheduleDAG.cpp66 EntrySU = SUnit(); in clearDAG()
67 ExitSU = SUnit(); in clearDAG()
107 bool SUnit::addPred(const SDep &D, bool Required) { in addPred()
118 SUnit *PredSU = PredDep.getSUnit(); in addPred()
136 SUnit *N = D.getSUnit(); in addPred()
175 void SUnit::removePred(const SDep &D) { in removePred()
183 SUnit *N = D.getSUnit(); in removePred()
217 void SUnit::setDepthDirty() { in setDepthDirty()
219 SmallVector<SUnit*, 8> WorkList; in setDepthDirty()
222 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/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-10.0/llvm/lib/Target/AMDGPU/
DR600MachineScheduler.h53 std::vector<SUnit *> Available[IDLast], Pending[IDLast];
54 std::vector<SUnit *> AvailableAlus[AluLast];
55 std::vector<SUnit *> PhysicalRegCopy;
73 SUnit *pickNode(bool &IsTopNode) override;
74 void schedNode(SUnit *SU, bool IsTopNode) override;
75 void releaseTopNode(SUnit *SU) override;
76 void releaseBottomNode(SUnit *SU) override;
82 int getInstKind(SUnit *SU);
84 AluKind getAluKind(SUnit *SU) const;
87 SUnit *AttemptFillSlot (unsigned Slot, bool AnyAlu);
[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 …]
/external/llvm-project/llvm/lib/Target/AMDGPU/
DR600MachineScheduler.h53 std::vector<SUnit *> Available[IDLast], Pending[IDLast];
54 std::vector<SUnit *> AvailableAlus[AluLast];
55 std::vector<SUnit *> PhysicalRegCopy;
73 SUnit *pickNode(bool &IsTopNode) override;
74 void schedNode(SUnit *SU, bool IsTopNode) override;
75 void releaseTopNode(SUnit *SU) override;
76 void releaseBottomNode(SUnit *SU) override;
82 int getInstKind(SUnit *SU);
84 AluKind getAluKind(SUnit *SU) const;
87 SUnit *AttemptFillSlot (unsigned Slot, bool AnyAlu);
[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 …]

12345678