Lines Matching refs:BasicBlock

77   insertPHIStore(BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot,
78 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist);
81 DenseMap<BasicBlock *, Value *> &Loads, Function &F);
97 DenseMap<BasicBlock *, ColorVector> BlockColors;
98 MapVector<BasicBlock *, std::vector<BasicBlock *>> FuncletBlocks;
131 const BasicBlock *BB) { in addUnwindMapEntry()
166 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) { in getCleanupRetUnwindDest()
176 DenseMap<BasicBlock *, ColorVector> BlockColors = colorEHFunclets(*F); in calculateStateNumbersForInvokes()
177 for (BasicBlock &BB : *F) { in calculateStateNumbersForInvokes()
184 BasicBlock *FuncletEntryBB = BBColors.front(); in calculateStateNumbersForInvokes()
186 BasicBlock *FuncletUnwindDest; in calculateStateNumbersForInvokes()
199 BasicBlock *InvokeUnwindDest = II->getUnwindDest(); in calculateStateNumbersForInvokes()
219 static const BasicBlock *getEHPadFromPredecessor(const BasicBlock *BB, in getEHPadFromPredecessor()
239 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateCXXStateNumbers()
247 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in calculateCXXStateNumbers()
253 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateCXXStateNumbers()
267 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateCXXStateNumbers()
272 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateCXXStateNumbers()
300 for (const BasicBlock *PredBlock : predecessors(BB)) { in calculateCXXStateNumbers()
317 const Function *Filter, const BasicBlock *Handler) { in addSEHExcept()
328 const BasicBlock *Handler) { in addSEHFinally()
341 const BasicBlock *BB = FirstNonPHI->getParent(); in calculateSEHStateNumbers()
354 const BasicBlock *CatchPadBB = CatchPad->getParent(); in calculateSEHStateNumbers()
366 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
377 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateSEHStateNumbers()
382 BasicBlock *UnwindDest = getCleanupRetUnwindDest(InnerCleanupPad); in calculateSEHStateNumbers()
402 for (const BasicBlock *PredBlock : predecessors(BB)) in calculateSEHStateNumbers()
434 for (const BasicBlock &BB : *Fn) { in calculateSEHStateNumbers()
452 for (const BasicBlock &BB : *Fn) { in calculateWinCXXEHStateNumbers()
466 uint32_t TypeToken, const BasicBlock *Handler) { in addClrEHHandler()
508 for (const BasicBlock &BB : *Fn) { in calculateClrEHStateNumbers()
552 SmallVector<const BasicBlock *, 4> CatchBlocks(CatchSwitch->handlers()); in calculateClrEHStateNumbers()
555 const BasicBlock *CatchBlock = *CBI; in calculateClrEHStateNumbers()
585 Entry->Handler.get<const BasicBlock *>()->getFirstNonPHI(); in calculateClrEHStateNumbers()
588 const BasicBlock *UnwindDest; in calculateClrEHStateNumbers()
611 const BasicBlock *UserUnwindDest = nullptr; in calculateClrEHStateNumbers()
622 .Handler.get<const BasicBlock *>(); in calculateClrEHStateNumbers()
683 for (BasicBlock &BB : F) { in colorFunclets()
685 for (BasicBlock *Color : Colors) in colorFunclets()
695 BasicBlock *BB = &*FI++; in demotePHIsOnFunclets()
701 for (BasicBlock::iterator BI = BB->begin(), BE = BB->end(); BI != BE;) { in demotePHIsOnFunclets()
728 BasicBlock *FuncletPadBB = Funclets.first; in cloneCommonBlocks()
729 std::vector<BasicBlock *> &BlocksInFunclet = Funclets.second; in cloneCommonBlocks()
736 std::vector<std::pair<BasicBlock *, BasicBlock *>> Orig2Clone; in cloneCommonBlocks()
738 for (BasicBlock *BB : BlocksInFunclet) { in cloneCommonBlocks()
751 BasicBlock *CBB = in cloneCommonBlocks()
771 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
772 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
800 for (BasicBlock *BB : BlocksInFunclet) in cloneCommonBlocks()
810 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
811 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
814 for (BasicBlock *Pred : predecessors(OldBlock)) in cloneCommonBlocks()
827 BasicBlock *IncomingBlock = PN->getIncomingBlock(PredIdx); in cloneCommonBlocks()
837 [&](BasicBlock *Color) { in cloneCommonBlocks()
853 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
854 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
866 BasicBlock *OldBlock = BBMapping.first; in cloneCommonBlocks()
867 BasicBlock *NewBlock = BBMapping.second; in cloneCommonBlocks()
868 for (BasicBlock *SuccBB : successors(NewBlock)) { in cloneCommonBlocks()
905 BasicBlock *UserBB = UserI->getParent(); in cloneCommonBlocks()
935 BasicBlock *FuncletPadBB = Funclet.first; in removeImplausibleInstructions()
936 std::vector<BasicBlock *> &BlocksInFunclet = Funclet.second; in removeImplausibleInstructions()
942 for (BasicBlock *BB : BlocksInFunclet) { in removeImplausibleInstructions()
967 BasicBlock::iterator CallI = in removeImplausibleInstructions()
1010 BasicBlock *BB = &*FI++; in cleanupPreparedFunclets()
1023 for (BasicBlock &BB : F) { in verifyPreparedFunclets()
1073 BasicBlock *PHIBlock = PN->getParent(); in insertPHILoads()
1091 DenseMap<BasicBlock *, Value *> Loads; in insertPHILoads()
1114 SmallVector<std::pair<BasicBlock *, Value *>, 4> Worklist; in insertPHIStores()
1119 BasicBlock *EHBlock; in insertPHIStores()
1140 for (BasicBlock *PredBlock : predecessors(EHBlock)) { in insertPHIStores()
1148 BasicBlock *PredBlock, Value *PredVal, AllocaInst *SpillSlot, in insertPHIStore()
1149 SmallVectorImpl<std::pair<BasicBlock *, Value *>> &Worklist) { in insertPHIStore() argument
1162 DenseMap<BasicBlock *, Value *> &Loads, in replaceUseWithLoad() argument
1181 BasicBlock *IncomingBlock = UsingPHI->getIncomingBlock(U); in replaceUseWithLoad()
1187 BasicBlock *PHIBlock = UsingInst->getParent(); in replaceUseWithLoad()
1188 BasicBlock *NewBlock = SplitEdge(IncomingBlock, PHIBlock); in replaceUseWithLoad()
1217 for (BasicBlock *FuncletPad : ColorsForPHIBlock) in replaceUseWithLoad()