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()
576 for (const BasicBlock *CatchBlock : llvm::reverse(CatchBlocks)) { in calculateClrEHStateNumbers()
605 Entry.Handler.get<const BasicBlock *>()->getFirstNonPHI(); in calculateClrEHStateNumbers()
608 const BasicBlock *UnwindDest; in calculateClrEHStateNumbers()
631 const BasicBlock *UserUnwindDest = nullptr; in calculateClrEHStateNumbers()
642 .Handler.get<const BasicBlock *>(); in calculateClrEHStateNumbers()
703 for (BasicBlock &BB : F) { in colorFunclets()
705 for (BasicBlock *Color : Colors) in colorFunclets()
714 for (BasicBlock &BB : make_early_inc_range(F)) { in demotePHIsOnFunclets()
746 BasicBlock *FuncletPadBB = Funclets.first; in cloneCommonBlocks()
747 std::vector<BasicBlock *> &BlocksInFunclet = Funclets.second; in cloneCommonBlocks()
754 std::vector<std::pair<BasicBlock *, BasicBlock *>> Orig2Clone; in cloneCommonBlocks()
756 for (BasicBlock *BB : BlocksInFunclet) { in cloneCommonBlocks()
769 BasicBlock *CBB = in cloneCommonBlocks()
789 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
790 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
814 for (BasicBlock *BB : BlocksInFunclet) in cloneCommonBlocks()
824 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
825 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
828 for (BasicBlock *Pred : predecessors(OldBlock)) in cloneCommonBlocks()
841 BasicBlock *IncomingBlock = PN->getIncomingBlock(PredIdx); in cloneCommonBlocks()
851 [&](BasicBlock *Color) { in cloneCommonBlocks()
867 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
868 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
880 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
881 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
882 for (BasicBlock *SuccBB : successors(NewBlock)) { in cloneCommonBlocks()
919 BasicBlock *UserBB = UserI->getParent(); in cloneCommonBlocks()
949 BasicBlock *FuncletPadBB = Funclet.first; in removeImplausibleInstructions()
950 std::vector<BasicBlock *> &BlocksInFunclet = Funclet.second; in removeImplausibleInstructions()
956 for (BasicBlock *BB : BlocksInFunclet) { in removeImplausibleInstructions()
981 BasicBlock::iterator CallI = in removeImplausibleInstructions()
1023 for (BasicBlock &BB : llvm::make_early_inc_range(F)) { in cleanupPreparedFunclets()
1036 for (BasicBlock &BB : F) { in verifyPreparedFunclets()
1086 BasicBlock *PHIBlock = PN->getParent(); in insertPHILoads()
1105 DenseMap<BasicBlock *, Value *> Loads; in insertPHILoads()
1126 SmallVector<std::pair<BasicBlock *, Value *>, 4> Worklist; in insertPHIStores()
1131 BasicBlock *EHBlock; in insertPHIStores()
1152 for (BasicBlock *PredBlock : predecessors(EHBlock)) { in insertPHIStores()
1160 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot, in insertPHIStore()
1161 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist) { in insertPHIStore() argument
1174 DenseMap<BasicBlock *, Value *> &Loads, in replaceUseWithLoad() argument
1193 BasicBlock *IncomingBlock = UsingPHI->getIncomingBlock(U); in replaceUseWithLoad()
1199 BasicBlock *PHIBlock = UsingInst->getParent(); in replaceUseWithLoad()
1200 BasicBlock *NewBlock = SplitEdge(IncomingBlock, PHIBlock); in replaceUseWithLoad()
1229 for (BasicBlock *FuncletPad : ColorsForPHIBlock) in replaceUseWithLoad()