Lines Matching refs:ScheduleData

829   struct ScheduleData {  struct in llvm::slpvectorizer::BoUpSLP
834 ScheduleData() = default;
893 ScheduleData *SD = NextInBundle; in dump()
908 ScheduleData *FirstInBundle = nullptr; argument
912 ScheduleData *NextInBundle = nullptr; argument
916 ScheduleData *NextLoadStore = nullptr; argument
920 SmallVector<ScheduleData *, 4> MemoryDependencies; argument
955 const BoUpSLP::ScheduleData &SD) { in operator <<()
988 ScheduleData *getScheduleData(Value *V) { in getScheduleData()
989 ScheduleData *SD = ScheduleDataMap[V]; in getScheduleData()
995 ScheduleData *getScheduleData(Value *V, Value *Key) { in getScheduleData()
1000 ScheduleData *SD = I->second[Key]; in getScheduleData()
1007 bool isInSchedulingRegion(ScheduleData *SD) { in isInSchedulingRegion()
1014 void schedule(ScheduleData *SD, ReadyListType &ReadyList) { in schedule()
1018 ScheduleData *BundleMember = SD; in schedule()
1029 doForAllOpcodes(I, [&ReadyList](ScheduleData *OpDef) { in schedule()
1035 ScheduleData *DepBundle = OpDef->FirstInBundle; in schedule()
1045 for (ScheduleData *MemoryDepSD : BundleMember->MemoryDependencies) { in schedule()
1049 ScheduleData *DepBundle = MemoryDepSD->FirstInBundle; in schedule()
1062 function_ref<void(ScheduleData *SD)> Action) { in doForAllOpcodes()
1063 if (ScheduleData *SD = getScheduleData(V)) in doForAllOpcodes()
1076 doForAllOpcodes(I, [&](ScheduleData *SD) { in initialFillReadyList()
1096 ScheduleData *allocateScheduleDataChunks();
1105 ScheduleData *PrevLoadStore,
1106 ScheduleData *NextLoadStore);
1110 void calculateDependencies(ScheduleData *SD, bool InsertInReadyList,
1119 std::vector<std::unique_ptr<ScheduleData[]>> ScheduleDataChunks;
1131 DenseMap<Value *, ScheduleData *> ScheduleDataMap;
1134 DenseMap<Value *, SmallDenseMap<Value *, ScheduleData *>>
1137 struct ReadyList : SmallVector<ScheduleData *, 8> {
1138 void insert(ScheduleData *SD) { push_back(SD); } in insert()
1152 ScheduleData *FirstLoadStoreInRegion = nullptr;
1156 ScheduleData *LastLoadStoreInRegion = nullptr;
3821 ScheduleData *PrevInBundle = nullptr; in tryScheduleBundle()
3822 ScheduleData *Bundle = nullptr; in tryScheduleBundle()
3834 ScheduleData *BundleMember = getScheduleData(V); in tryScheduleBundle()
3866 doForAllOpcodes(I, [](ScheduleData *SD) { in tryScheduleBundle()
3888 ScheduleData *pickedSD = ReadyInsts.back(); in tryScheduleBundle()
3907 ScheduleData *Bundle = getScheduleData(OpValue); in cancelScheduling()
3915 ScheduleData *BundleMember = Bundle; in cancelScheduling()
3919 ScheduleData *Next = BundleMember->NextInBundle; in cancelScheduling()
3929 BoUpSLP::ScheduleData *BoUpSLP::BlockScheduling::allocateScheduleDataChunks() { in allocateScheduleDataChunks()
3932 ScheduleDataChunks.push_back(llvm::make_unique<ScheduleData[]>(ChunkSize)); in allocateScheduleDataChunks()
3946 ScheduleData *ISD = getScheduleData(I); in extendSchedulingRegion()
3951 ScheduleData *SD = allocateScheduleDataChunks(); in extendSchedulingRegion()
4017 ScheduleData *PrevLoadStore, in initScheduleData()
4018 ScheduleData *NextLoadStore) { in initScheduleData()
4019 ScheduleData *CurrentLoadStore = PrevLoadStore; in initScheduleData()
4021 ScheduleData *SD = ScheduleDataMap[I]; in initScheduleData()
4051 void BoUpSLP::BlockScheduling::calculateDependencies(ScheduleData *SD, in calculateDependencies()
4056 SmallVector<ScheduleData *, 10> WorkList; in calculateDependencies()
4060 ScheduleData *SD = WorkList.back(); in calculateDependencies()
4063 ScheduleData *BundleMember = SD; in calculateDependencies()
4075 ScheduleData *UseSD = getScheduleData(BundleMember->Inst); in calculateDependencies()
4078 ScheduleData *DestBundle = UseSD->FirstInBundle; in calculateDependencies()
4087 ScheduleData *UseSD = getScheduleData(U); in calculateDependencies()
4090 ScheduleData *DestBundle = UseSD->FirstInBundle; in calculateDependencies()
4107 ScheduleData *DepDest = BundleMember->NextLoadStore; in calculateDependencies()
4137 ScheduleData *DestBundle = DepDest->FirstInBundle; in calculateDependencies()
4180 doForAllOpcodes(I, [&](ScheduleData *SD) { in resetSchedule()
4202 bool operator()(ScheduleData *SD1, ScheduleData *SD2) const { in scheduleBlock()
4206 std::set<ScheduleData *, ScheduleDataCompare> ReadyInsts; in scheduleBlock()
4214 BS->doForAllOpcodes(I, [this, &Idx, &NumToSchedule, BS](ScheduleData *SD) { in scheduleBlock()
4231 ScheduleData *picked = *ReadyInsts.begin(); in scheduleBlock()
4236 ScheduleData *BundleMember = picked; in scheduleBlock()