Lines Matching refs:BasicBlock
26 class BasicBlock; variable
51 DenseMap<BasicBlock *, DenseSet<Value *>> BaseMemAddrs;
55 DenseSet<BasicBlock *> SideEffectingBlocks;
57 void findSideEffectInfoForBlock(BasicBlock &BB);
69 bool doesBlockContainClobberOfAddr(BasicBlock &BB, AllocaInst *Addr) const;
98 BasicBlock *AllocationBlock;
104 SetVector<BasicBlock *> Blocks;
110 SmallVector<BasicBlock *, 4> OldTargets;
138 CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr,
143 BasicBlock *AllocationBlock = nullptr,
221 BasicBlock *&ExitBlock) const;
231 BasicBlock *findOrCreateBlockForHoisting(BasicBlock *CommonExitBlock);
249 Instruction *Addr, BasicBlock *ExitBlock) const;
251 void severSplitPHINodesOfEntry(BasicBlock *&Header);
252 void severSplitPHINodesOfExits(const SmallPtrSetImpl<BasicBlock *> &Exits);
257 BasicBlock *header,
258 BasicBlock *newRootNode, BasicBlock *newHeader,
264 BasicBlock *CodeReplacer,
265 DenseMap<BasicBlock *, BlockFrequency> &ExitWeights,
269 BasicBlock *newHeader,