Lines Matching refs:BasicBlock
78 static BlockFrequency adjustedSumFreq(SmallPtrSetImpl<BasicBlock *> &BBs,
81 for (BasicBlock *B : BBs)
115 static SmallPtrSet<BasicBlock *, 2>
116 findBBsToSinkInto(const Loop &L, const SmallPtrSetImpl<BasicBlock *> &UseBBs,
117 const SmallVectorImpl<BasicBlock *> &ColdLoopBBs,
119 SmallPtrSet<BasicBlock *, 2> BBsToSinkInto;
124 SmallPtrSet<BasicBlock *, 2> BBsDominatedByColdestBB;
134 for (BasicBlock *ColdestBB : ColdLoopBBs) {
136 for (BasicBlock *SinkedBB : BBsToSinkInto)
143 for (BasicBlock *DominatedBB : BBsDominatedByColdestBB) {
167 for (BasicBlock *BB : BBsToSinkInto) {
187 Loop &L, Instruction &I, const SmallVectorImpl<BasicBlock *> &ColdLoopBBs,
188 const SmallDenseMap<BasicBlock *, int, 16> &LoopBlockNumber, LoopInfo &LI,
191 SmallPtrSet<BasicBlock *, 2> BBs;
207 BasicBlock *PhiBB = PN->getIncomingBlock(U);
224 SmallPtrSet<BasicBlock *, 2> BBsToSinkInto =
237 SmallVector<BasicBlock *, 2> SortedBBsToSinkInto;
240 llvm::sort(SortedBBsToSinkInto, [&](BasicBlock *A, BasicBlock *B) {
245 BasicBlock *MoveBB = *SortedBBsToSinkInto.begin();
248 for (BasicBlock *N : ArrayRef(SortedBBsToSinkInto).drop_front(1)) {
302 BasicBlock *Preheader = L.getLoopPreheader();
312 if (all_of(L.blocks(), [&](const BasicBlock *BB) {
323 SmallVector<BasicBlock *, 10> ColdLoopBBs;
324 SmallDenseMap<BasicBlock *, int, 16> LoopBlockNumber;
326 for (BasicBlock *B : L.blocks())
331 llvm::stable_sort(ColdLoopBBs, [&](BasicBlock *A, BasicBlock *B) {
384 BasicBlock *Preheader = L.getLoopPreheader();