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) { in addUnwindMapEntry()
182 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) { in getCleanupRetUnwindDest()
192 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F); in calculateStateNumbersForInvokes()
193 for (BasicBlock &BB : *F) { in calculateStateNumbersForInvokes()
200 BasicBlock *FuncletEntryBB = BBColors.front(); in calculateStateNumbersForInvokes()
202 BasicBlock *FuncletUnwindDest; in calculateStateNumbersForInvokes()
215 BasicBlock *InvokeUnwindDest = II->getUnwindDest(); in calculateStateNumbersForInvokes()
236 const BasicBlock *Block;
238 WorkItem(const BasicBlock *BB, int St) { in WorkItem()
243 void llvm::calculateCXXStateForAsynchEH(const BasicBlock *BB, int State, in calculateCXXStateForAsynchEH()
251 const BasicBlock *BB = WI->Block; in calculateCXXStateForAsynchEH()
304 void llvm::calculateSEHStateForAsynchEH(const BasicBlock *BB, int State, in calculateSEHStateForAsynchEH()
312 const BasicBlock *BB = WI->Block; in calculateSEHStateForAsynchEH()
356 static const BasicBlock *getEHPadFromPredecessor(const BasicBlock *BB, in getEHPadFromPredecessor()
379 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateCXXStateNumbers()
387 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in calculateCXXStateNumbers()
393 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateCXXStateNumbers()
418 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateCXXStateNumbers()
423 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateCXXStateNumbers()
456 for (const BasicBlock *PredBlock : predecessors(BB)) { in calculateCXXStateNumbers()
473 const Function *Filter, const BasicBlock *Handler) { in addSEHExcept()
484 const BasicBlock *Handler) { in addSEHFinally()
500 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateSEHStateNumbers()
513 const BasicBlock *CatchPadBB = CatchPad->getParent(); in calculateSEHStateNumbers()
526 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
537 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateSEHStateNumbers()
542 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateSEHStateNumbers()
562 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
594 for (const BasicBlock &BB : *Fn) { in calculateSEHStateNumbers()
607 const BasicBlock *EntryBB = &(Fn->getEntryBlock()); in calculateSEHStateNumbers()
618 for (const BasicBlock &BB : *Fn) { in calculateWinCXXEHStateNumbers()
631 const BasicBlock *EntryBB = &(Fn->getEntryBlock()); in calculateWinCXXEHStateNumbers()
638 uint32_t TypeToken, const BasicBlock *Handler) { in addClrEHHandler()
680 for (const BasicBlock &BB : *Fn) { in calculateClrEHStateNumbers()
724 SmallVector<const BasicBlock *, 4> CatchBlocks(CatchSwitch->handlers()); in calculateClrEHStateNumbers()
725 for (const BasicBlock *CatchBlock : llvm::reverse(CatchBlocks)) { in calculateClrEHStateNumbers()
754 cast<const BasicBlock *>(Entry.Handler)->getFirstNonPHI(); in calculateClrEHStateNumbers()
757 const BasicBlock *UnwindDest; in calculateClrEHStateNumbers()
780 const BasicBlock *UserUnwindDest = nullptr; in calculateClrEHStateNumbers()
790 UserUnwindDest = cast<const BasicBlock *>( in calculateClrEHStateNumbers()
852 for (BasicBlock &BB : F) { in colorFunclets()
854 for (BasicBlock *Color : Colors) in colorFunclets()
863 for (BasicBlock &BB : make_early_inc_range(F)) { in demotePHIsOnFunclets()
895 BasicBlock *FuncletPadBB = Funclets.first; in cloneCommonBlocks()
896 std::vector<BasicBlock *> &BlocksInFunclet = Funclets.second; in cloneCommonBlocks()
903 std::vector<std::pair<BasicBlock *, BasicBlock *>> Orig2Clone; in cloneCommonBlocks()
905 for (BasicBlock *BB : BlocksInFunclet) { in cloneCommonBlocks()
918 BasicBlock *CBB = in cloneCommonBlocks()
938 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
939 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
963 for (BasicBlock *BB : BlocksInFunclet) in cloneCommonBlocks()
973 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
974 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
977 for (BasicBlock *Pred : predecessors(OldBlock)) in cloneCommonBlocks()
990 BasicBlock *IncomingBlock = PN->getIncomingBlock(PredIdx); in cloneCommonBlocks()
1013 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
1014 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
1026 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
1027 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
1028 for (BasicBlock *SuccBB : successors(NewBlock)) { in cloneCommonBlocks()
1065 BasicBlock *UserBB = UserI->getParent(); in cloneCommonBlocks()
1095 BasicBlock *FuncletPadBB = Funclet.first; in removeImplausibleInstructions()
1096 std::vector<BasicBlock *> &BlocksInFunclet = Funclet.second; in removeImplausibleInstructions()
1102 for (BasicBlock *BB : BlocksInFunclet) { in removeImplausibleInstructions()
1127 BasicBlock::iterator CallI = in removeImplausibleInstructions()
1169 for (BasicBlock &BB : llvm::make_early_inc_range(F)) { in cleanupPreparedFunclets()
1182 for (BasicBlock &BB : F) { in verifyPreparedFunclets()
1229 BasicBlock *PHIBlock = PN->getParent(); in insertPHILoads()
1248 DenseMap<BasicBlock *, Value *> Loads; in insertPHILoads()
1269 SmallVector<std::pair<BasicBlock *, Value *>, 4> Worklist; in insertPHIStores()
1274 BasicBlock *EHBlock; in insertPHIStores()
1295 for (BasicBlock *PredBlock : predecessors(EHBlock)) { in insertPHIStores()
1303 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot, in insertPHIStore()
1304 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist) { in insertPHIStore() argument
1318 DenseMap<BasicBlock *, Value *> &Loads, Function &F) { in replaceUseWithLoad() argument
1336 BasicBlock *IncomingBlock = UsingPHI->getIncomingBlock(U); in replaceUseWithLoad()
1342 BasicBlock *PHIBlock = UsingInst->getParent(); in replaceUseWithLoad()
1343 BasicBlock *NewBlock = SplitEdge(IncomingBlock, PHIBlock); in replaceUseWithLoad()
1372 for (BasicBlock *FuncletPad : ColorsForPHIBlock) in replaceUseWithLoad()