Lines Matching refs:BasicBlock
79 insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
80 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist);
83 DenseMap<BasicBlock *, Value *> &Loads, Function &F);
99 DenseMap<BasicBlock *, ColorVector> BlockColors;
100 MapVector<BasicBlock *, std::vector<BasicBlock *>> FuncletBlocks;
133 const BasicBlock *BB) { in addUnwindMapEntry()
168 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) { in getCleanupRetUnwindDest()
178 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F); in calculateStateNumbersForInvokes()
179 for (BasicBlock &BB : *F) { in calculateStateNumbersForInvokes()
186 BasicBlock *FuncletEntryBB = BBColors.front(); in calculateStateNumbersForInvokes()
188 BasicBlock *FuncletUnwindDest; in calculateStateNumbersForInvokes()
201 BasicBlock *InvokeUnwindDest = II->getUnwindDest(); in calculateStateNumbersForInvokes()
221 static const BasicBlock *getEHPadFromPredecessor(const BasicBlock *BB, in getEHPadFromPredecessor()
244 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateCXXStateNumbers()
252 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in calculateCXXStateNumbers()
258 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateCXXStateNumbers()
282 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateCXXStateNumbers()
287 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateCXXStateNumbers()
320 for (const BasicBlock *PredBlock : predecessors(BB)) { in calculateCXXStateNumbers()
337 const Function *Filter, const BasicBlock *Handler) { in addSEHExcept()
348 const BasicBlock *Handler) { in addSEHFinally()
364 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateSEHStateNumbers()
377 const BasicBlock *CatchPadBB = CatchPad->getParent(); in calculateSEHStateNumbers()
389 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
400 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateSEHStateNumbers()
405 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateSEHStateNumbers()
425 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
457 for (const BasicBlock &BB : *Fn) { in calculateSEHStateNumbers()
475 for (const BasicBlock &BB : *Fn) { in calculateWinCXXEHStateNumbers()
489 uint32_t TypeToken, const BasicBlock *Handler) { in addClrEHHandler()
531 for (const BasicBlock &BB : *Fn) { in calculateClrEHStateNumbers()
575 SmallVector<const BasicBlock *, 4> CatchBlocks(CatchSwitch->handlers()); in calculateClrEHStateNumbers()
578 const BasicBlock *CatchBlock = *CBI; in calculateClrEHStateNumbers()
608 Entry->Handler.get<const BasicBlock *>()->getFirstNonPHI(); in calculateClrEHStateNumbers()
611 const BasicBlock *UnwindDest; in calculateClrEHStateNumbers()
634 const BasicBlock *UserUnwindDest = nullptr; in calculateClrEHStateNumbers()
645 .Handler.get<const BasicBlock *>(); in calculateClrEHStateNumbers()
706 for (BasicBlock &BB : F) { in colorFunclets()
708 for (BasicBlock *Color : Colors) in colorFunclets()
717 for (BasicBlock &BB : make_early_inc_range(F)) { in demotePHIsOnFunclets()
749 BasicBlock *FuncletPadBB = Funclets.first; in cloneCommonBlocks()
750 std::vector<BasicBlock *> &BlocksInFunclet = Funclets.second; in cloneCommonBlocks()
757 std::vector<std::pair<BasicBlock *, BasicBlock *>> Orig2Clone; in cloneCommonBlocks()
759 for (BasicBlock *BB : BlocksInFunclet) { in cloneCommonBlocks()
772 BasicBlock *CBB = in cloneCommonBlocks()
792 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
793 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
817 for (BasicBlock *BB : BlocksInFunclet) in cloneCommonBlocks()
827 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
828 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
831 for (BasicBlock *Pred : predecessors(OldBlock)) in cloneCommonBlocks()
844 BasicBlock *IncomingBlock = PN->getIncomingBlock(PredIdx); in cloneCommonBlocks()
854 [&](BasicBlock *Color) { in cloneCommonBlocks()
870 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
871 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
883 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
884 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
885 for (BasicBlock *SuccBB : successors(NewBlock)) { in cloneCommonBlocks()
922 BasicBlock *UserBB = UserI->getParent(); in cloneCommonBlocks()
952 BasicBlock *FuncletPadBB = Funclet.first; in removeImplausibleInstructions()
953 std::vector<BasicBlock *> &BlocksInFunclet = Funclet.second; in removeImplausibleInstructions()
959 for (BasicBlock *BB : BlocksInFunclet) { in removeImplausibleInstructions()
984 BasicBlock::iterator CallI = in removeImplausibleInstructions()
1026 for (BasicBlock &BB : llvm::make_early_inc_range(F)) { in cleanupPreparedFunclets()
1039 for (BasicBlock &BB : F) { in verifyPreparedFunclets()
1089 BasicBlock *PHIBlock = PN->getParent(); in insertPHILoads()
1108 DenseMap<BasicBlock *, Value *> Loads; in insertPHILoads()
1129 SmallVector<std::pair<BasicBlock *, Value *>, 4> Worklist; in insertPHIStores()
1134 BasicBlock *EHBlock; in insertPHIStores()
1155 for (BasicBlock *PredBlock : predecessors(EHBlock)) { in insertPHIStores()
1163 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot, in insertPHIStore()
1164 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist) { in insertPHIStore() argument
1177 DenseMap<BasicBlock *, Value *> &Loads, in replaceUseWithLoad() argument
1196 BasicBlock *IncomingBlock = UsingPHI->getIncomingBlock(U); in replaceUseWithLoad()
1202 BasicBlock *PHIBlock = UsingInst->getParent(); in replaceUseWithLoad()
1203 BasicBlock *NewBlock = SplitEdge(IncomingBlock, PHIBlock); in replaceUseWithLoad()
1232 for (BasicBlock *FuncletPad : ColorsForPHIBlock) in replaceUseWithLoad()