Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:CatchScope

544   EHCatchScope *CatchScope = EHStack.pushCatch(NumHandlers);
567 CatchScope->setHandler(I, TypeInfo, Handler);
570 CatchScope->setHandler(I, CGM.getCXXABI().getCatchAllTypeInfo(), Handler);
593 EHCatchScope &catchScope = cast<EHCatchScope>(scope);
594 if (catchScope.getNumHandlers() == 1 &&
595 catchScope.getHandler(0).isCatchAll()) {
596 dispatchBlock = catchScope.getHandler(0).Block;
812 EHCatchScope &catchScope = cast<EHCatchScope>(*I);
813 for (unsigned hi = 0, he = catchScope.getNumHandlers(); hi != he; ++hi) {
814 EHCatchScope::Handler handler = catchScope.getHandler(hi);
876 static void emitCatchPadBlock(CodeGenFunction &CGF, EHCatchScope &CatchScope) {
877 llvm::BasicBlock *DispatchBlock = CatchScope.getCachedEHDispatchBlock();
887 CGF.getEHDispatchBlock(CatchScope.getEnclosingEHScope());
889 unsigned NumHandlers = CatchScope.getNumHandlers();
895 const EHCatchScope::Handler &Handler = CatchScope.getHandler(I);
919 EHCatchScope &catchScope) {
921 return emitCatchPadBlock(CGF, catchScope);
923 llvm::BasicBlock *dispatchBlock = catchScope.getCachedEHDispatchBlock();
928 if (catchScope.getNumHandlers() == 1 &&
929 catchScope.getHandler(0).isCatchAll()) {
930 assert(dispatchBlock == catchScope.getHandler(0).Block);
945 for (unsigned i = 0, e = catchScope.getNumHandlers(); ; ++i) {
947 const EHCatchScope::Handler &handler = catchScope.getHandler(i);
962 nextBlock = CGF.getEHDispatchBlock(catchScope.getEnclosingEHScope());
967 } else if (catchScope.getHandler(i+1).isCatchAll()) {
968 nextBlock = catchScope.getHandler(i+1).Block;
997 EHCatchScope &catchScope = cast<EHCatchScope>(*EHStack.begin());
998 if (catchScope.hasEHBranches())
999 emitCatchDispatchBlock(*this, catchScope);
1005 EHCatchScope &CatchScope = cast<EHCatchScope>(*EHStack.begin());
1006 assert(CatchScope.getNumHandlers() == NumHandlers);
1009 if (!CatchScope.hasEHBranches()) {
1010 CatchScope.clearHandlerBlocks();
1016 emitCatchDispatchBlock(*this, CatchScope);
1021 CatchScope.begin(), CatchScope.begin() + NumHandlers);
1055 RunCleanupsScope CatchScope(*this);
1084 CatchScope.ForceCleanup();
1241 EHCatchScope *catchScope = CGF.EHStack.pushCatch(1);
1242 catchScope->setCatchAllHandler(0, catchBB);
1247 EHCatchScope &catchScope = cast<EHCatchScope>(*CGF.EHStack.begin());
1248 llvm::BasicBlock *catchBB = catchScope.getHandler(0).Block;
1794 EHCatchScope *CatchScope = EHStack.pushCatch(1);
1805 CatchScope->setCatchAllHandler(0, createBasicBlock("__except"));
1815 CatchScope->setHandler(0, OpaqueFunc, createBasicBlock("__except.ret"));
1828 EHCatchScope &CatchScope = cast<EHCatchScope>(*EHStack.begin());
1833 if (!CatchScope.hasEHBranches()) {
1834 CatchScope.clearHandlerBlocks();
1848 emitCatchDispatchBlock(*this, CatchScope);
1851 llvm::BasicBlock *CatchPadBB = CatchScope.getHandler(0).Block;