/external/llvm/include/llvm/CodeGen/ |
D | ResourcePriorityQueue.h | 31 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 …]
|
D | ScheduleDAG.h | 28 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 …]
|
D | LatencyPriorityQueue.h | 25 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 …]
|
D | ScheduleDAGInstrs.h | 38 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 …]
|
D | MachineScheduler.h | 205 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 …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
D | ResourcePriorityQueue.h | 34 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 …]
|
D | ScheduleDAG.h | 41 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 …]
|
D | ScheduleDAGInstrs.h | 55 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 …]
|
D | MachinePipeliner.h | 142 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 …]
|
D | LatencyPriorityQueue.h | 29 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/ |
D | ScheduleDAG.h | 41 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 …]
|
D | ResourcePriorityQueue.h | 34 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 …]
|
D | ScheduleDAGInstrs.h | 55 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 …]
|
D | MachinePipeliner.h | 136 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 …]
|
D | LatencyPriorityQueue.h | 29 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/ |
D | ScheduleDAG.cpp | 66 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 …]
|
D | LatencyPriorityQueue.cpp | 23 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/ |
D | ScheduleDAG.cpp | 66 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 …]
|
D | LatencyPriorityQueue.cpp | 23 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/ |
D | ScheduleDAG.cpp | 52 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 …]
|
D | LatencyPriorityQueue.cpp | 23 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/ |
D | R600MachineScheduler.h | 53 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-project/llvm/lib/Target/AMDGPU/ |
D | R600MachineScheduler.h | 53 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/ |
D | R600MachineScheduler.h | 53 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/lib/CodeGen/SelectionDAG/ |
D | ScheduleDAGRRList.cpp | 125 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 …]
|