Lines Matching refs:BasicBlock
73 insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
74 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist);
77 DenseMap<BasicBlock *, Value *> &Loads, Function &F);
93 DenseMap<BasicBlock *, ColorVector> BlockColors;
94 MapVector<BasicBlock *, std::vector<BasicBlock *>> FuncletBlocks;
147 const BasicBlock *BB) {
182 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) {
192 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F);
193 for (BasicBlock &BB : *F) {
200 BasicBlock *FuncletEntryBB = BBColors.front();
202 BasicBlock *FuncletUnwindDest;
215 BasicBlock *InvokeUnwindDest = II->getUnwindDest();
236 const BasicBlock *Block;
238 WorkItem(const BasicBlock *BB, int St) {
243 void llvm::calculateCXXStateForAsynchEH(const BasicBlock *BB, int State,
251 const BasicBlock *BB = WI->Block;
258 BasicBlock::const_iterator It = BB->getFirstNonPHIIt();
305 void llvm::calculateSEHStateForAsynchEH(const BasicBlock *BB, int State,
313 const BasicBlock *BB = WI->Block;
320 BasicBlock::const_iterator It = BB->getFirstNonPHIIt();
358 static const BasicBlock *getEHPadFromPredecessor(const BasicBlock *BB,
381 const BasicBlock *BB = FirstNonPHI->getParent();
389 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) {
395 for (const BasicBlock *PredBlock : predecessors(BB))
420 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest();
425 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad);
458 for (const BasicBlock *PredBlock : predecessors(BB)) {
475 const Function *Filter, const BasicBlock *Handler) {
486 const BasicBlock *Handler) {
502 const BasicBlock *BB = FirstNonPHI->getParent();
515 const BasicBlock *CatchPadBB = CatchPad->getParent();
528 for (const BasicBlock *PredBlock : predecessors(BB))
539 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest();
544 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad);
564 for (const BasicBlock *PredBlock : predecessors(BB))
596 for (const BasicBlock &BB : *Fn) {
609 const BasicBlock *EntryBB = &(Fn->getEntryBlock());
620 for (const BasicBlock &BB : *Fn) {
633 const BasicBlock *EntryBB = &(Fn->getEntryBlock());
640 uint32_t TypeToken, const BasicBlock *Handler) {
682 for (const BasicBlock &BB : *Fn) {
726 SmallVector<const BasicBlock *, 4> CatchBlocks(CatchSwitch->handlers());
727 for (const BasicBlock *CatchBlock : llvm::reverse(CatchBlocks)) {
756 &*cast<const BasicBlock *>(Entry.Handler)->getFirstNonPHIIt();
759 const BasicBlock *UnwindDest;
782 const BasicBlock *UserUnwindDest = nullptr;
792 UserUnwindDest = cast<const BasicBlock *>(
855 for (BasicBlock &BB : F) {
857 for (BasicBlock *Color : Colors)
866 for (BasicBlock &BB : make_early_inc_range(F)) {
899 BasicBlock *FuncletPadBB = Funclets.first;
900 std::vector<BasicBlock *> &BlocksInFunclet = Funclets.second;
907 std::vector<std::pair<BasicBlock *, BasicBlock *>> Orig2Clone;
909 for (BasicBlock *BB : BlocksInFunclet) {
922 BasicBlock *CBB =
942 BasicBlock *OldBlock = BBMapping.first;
943 BasicBlock *NewBlock = BBMapping.second;
967 for (BasicBlock *BB : BlocksInFunclet)
977 BasicBlock *OldBlock = BBMapping.first;
978 BasicBlock *NewBlock = BBMapping.second;
981 for (BasicBlock *Pred : predecessors(OldBlock))
994 BasicBlock *IncomingBlock = PN->getIncomingBlock(PredIdx);
1017 BasicBlock *OldBlock = BBMapping.first;
1018 BasicBlock *NewBlock = BBMapping.second;
1030 BasicBlock *OldBlock = BBMapping.first;
1031 BasicBlock *NewBlock = BBMapping.second;
1032 for (BasicBlock *SuccBB : successors(NewBlock)) {
1069 BasicBlock *UserBB = UserI->getParent();
1099 BasicBlock *FuncletPadBB = Funclet.first;
1100 std::vector<BasicBlock *> &BlocksInFunclet = Funclet.second;
1106 for (BasicBlock *BB : BlocksInFunclet) {
1131 BasicBlock::iterator CallI =
1173 for (BasicBlock &BB : llvm::make_early_inc_range(F)) {
1186 for (BasicBlock &BB : F) {
1233 BasicBlock *PHIBlock = PN->getParent();
1252 DenseMap<BasicBlock *, Value *> Loads;
1273 SmallVector<std::pair<BasicBlock *, Value *>, 4> Worklist;
1278 BasicBlock *EHBlock;
1299 for (BasicBlock *PredBlock : predecessors(EHBlock)) {
1307 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
1308 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist) {
1322 DenseMap<BasicBlock *, Value *> &Loads, Function &F) {
1340 BasicBlock *IncomingBlock = UsingPHI->getIncomingBlock(U);
1346 BasicBlock *PHIBlock = UsingInst->getParent();
1347 BasicBlock *NewBlock = SplitEdge(IncomingBlock, PHIBlock);
1376 for (BasicBlock *FuncletPad : ColorsForPHIBlock)