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) {
151 for (BasicBlock *BB : BBsToSinkInto) {
171 Loop &L, Instruction &I, const SmallVectorImpl<BasicBlock *> &ColdLoopBBs,
172 const SmallDenseMap<BasicBlock *, int, 16> &LoopBlockNumber, LoopInfo &LI,
175 SmallPtrSet<BasicBlock *, 2> BBs;
191 BasicBlock *PhiBB = PN->getIncomingBlock(U);
208 SmallPtrSet<BasicBlock *, 2> BBsToSinkInto =
221 SmallVector<BasicBlock *, 2> SortedBBsToSinkInto;
224 llvm::sort(SortedBBsToSinkInto, [&](BasicBlock *A, BasicBlock *B) {
229 BasicBlock *MoveBB = *SortedBBsToSinkInto.begin();
232 for (BasicBlock *N : ArrayRef(SortedBBsToSinkInto).drop_front(1)) {
286 BasicBlock *Preheader = L.getLoopPreheader();
296 if (all_of(L.blocks(), [&](const BasicBlock *BB) {
307 SmallVector<BasicBlock *, 10> ColdLoopBBs;
308 SmallDenseMap<BasicBlock *, int, 16> LoopBlockNumber;
310 for (BasicBlock *B : L.blocks())
315 llvm::stable_sort(ColdLoopBBs, [&](BasicBlock *A, BasicBlock *B) {
368 BasicBlock *Preheader = L.getLoopPreheader();