Lines Matching defs:BlockScheduling
965 struct BlockScheduling { struct in llvm::slpvectorizer::BoUpSLP
966 BlockScheduling(BasicBlock *BB) in BlockScheduling() function
969 void clear() { in clear()
988 ScheduleData *getScheduleData(Value *V) { in getScheduleData()
995 ScheduleData *getScheduleData(Value *V, Value *Key) { in getScheduleData()
1007 bool isInSchedulingRegion(ScheduleData *SD) { in isInSchedulingRegion()
1014 void schedule(ScheduleData *SD, ReadyListType &ReadyList) { in schedule()
1061 void doForAllOpcodes(Value *V, in doForAllOpcodes()
1074 void initialFillReadyList(ReadyListType &ReadyList) { in initialFillReadyList()
1116 BasicBlock *BB;
1119 std::vector<std::unique_ptr<ScheduleData[]>> ScheduleDataChunks;
1122 int ChunkSize;
1126 int ChunkPos;
1131 DenseMap<Value *, ScheduleData *> ScheduleDataMap;
1135 ExtraScheduleDataMap;
1137 struct ReadyList : SmallVector<ScheduleData *, 8> {
1142 ReadyList ReadyInsts;
1145 Instruction *ScheduleStart = nullptr;
1148 Instruction *ScheduleEnd = nullptr;
1152 ScheduleData *FirstLoadStoreInRegion = nullptr;
1156 ScheduleData *LastLoadStoreInRegion = nullptr;
1159 int ScheduleRegionSize = 0;
1162 int ScheduleRegionSizeLimit = ScheduleRegionSizeBudget;
1168 int SchedulingRegionID = 1;