Lines Matching refs:EHStack
298 EHCleanupScope &cleanup = cast<EHCleanupScope>(*EHStack.begin()); in initFullExprCleanup()
329 for (unsigned I = 0, E = CGF.EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveAllBranchFixups()
331 BranchFixup &Fixup = CGF.EHStack.getBranchFixup(I); in ResolveAllBranchFixups()
357 CGF.EHStack.clearFixups(); in ResolveAllBranchFixups()
384 if (!EHStack.getNumBranchFixups()) return; in ResolveBranchFixups()
386 assert(EHStack.hasNormalCleanups() && in ResolveBranchFixups()
392 for (unsigned I = 0, E = EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveBranchFixups()
394 BranchFixup &Fixup = EHStack.getBranchFixup(I); in ResolveBranchFixups()
417 EHStack.popNullFixups(); in ResolveBranchFixups()
424 while (EHStack.stable_begin() != Old) { in PopCleanupBlocks()
425 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks()
456 EHStack.pushCopyOfCleanup(Header.getKind(), in PopCleanupBlocks()
604 assert(!EHStack.empty() && "cleanup stack is empty!"); in PopCleanupBlock()
605 assert(isa<EHCleanupScope>(*EHStack.begin()) && "top not a cleanup!"); in PopCleanupBlock()
606 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock()
607 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
629 bool HasFixups = EHStack.getNumBranchFixups() != FixupDepth; in PopCleanupBlock()
668 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
690 EHStack.popCleanup(); // safe because there are no fixups in PopCleanupBlock()
691 assert(EHStack.getNumBranchFixups() == 0 || in PopCleanupBlock()
692 EHStack.hasNormalCleanups()); in PopCleanupBlock()
724 EHStack.popCleanup(); in PopCleanupBlock()
732 EHStack.popCleanup(); in PopCleanupBlock()
768 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
780 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
852 EHStack.popCleanup(); in PopCleanupBlock()
853 assert(EHStack.hasNormalCleanups() == HasEnclosingCleanups); in PopCleanupBlock()
863 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
865 BranchFixup &Fixup = EHStack.getBranchFixup(I); in PopCleanupBlock()
914 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
916 EHStack.getBranchFixup(I).OptimisticBranchBlock = NewNormalEntry; in PopCleanupBlock()
920 assert(EHStack.hasNormalCleanups() || EHStack.getNumBranchFixups() == 0); in PopCleanupBlock()
938 EHStack.pushTerminate(); in PopCleanupBlock()
961 EHStack.popTerminate(); in PopCleanupBlock()
973 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in isObviouslyBranchWithoutCleanups()
978 EHStack.getInnermostActiveNormalCleanup(); in isObviouslyBranchWithoutCleanups()
983 if (TopCleanup == EHStack.stable_end() || in isObviouslyBranchWithoutCleanups()
998 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in EmitBranchThroughCleanup()
1009 TopCleanup = EHStack.getInnermostActiveNormalCleanup(); in EmitBranchThroughCleanup()
1014 if (TopCleanup == EHStack.stable_end() || in EmitBranchThroughCleanup()
1023 BranchFixup &Fixup = EHStack.addBranchFixup(); in EmitBranchThroughCleanup()
1042 cast<EHCleanupScope>(*EHStack.find(TopCleanup)); in EmitBranchThroughCleanup()
1051 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup()
1073 static bool IsUsedAsNormalCleanup(EHScopeStack &EHStack, in IsUsedAsNormalCleanup() argument
1076 if (cast<EHCleanupScope>(*EHStack.find(C)).getNormalBlock()) in IsUsedAsNormalCleanup()
1081 I = EHStack.getInnermostNormalCleanup(); in IsUsedAsNormalCleanup()
1084 EHCleanupScope &S = cast<EHCleanupScope>(*EHStack.find(I)); in IsUsedAsNormalCleanup()
1092 static bool IsUsedAsEHCleanup(EHScopeStack &EHStack, in IsUsedAsEHCleanup() argument
1095 if (EHStack.find(cleanup)->hasEHBranches()) in IsUsedAsEHCleanup()
1100 i = EHStack.getInnermostEHScope(); i != cleanup; ) { in IsUsedAsEHCleanup()
1103 EHScope &scope = *EHStack.find(i); in IsUsedAsEHCleanup()
1127 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation()
1141 (isActivatedInConditional || IsUsedAsNormalCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1148 (isActivatedInConditional || IsUsedAsEHCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1183 assert(C != EHStack.stable_end() && "activating bottom of stack?"); in ActivateCleanupBlock()
1184 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock()
1195 assert(C != EHStack.stable_end() && "deactivating bottom of stack?"); in DeactivateCleanupBlock()
1196 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock()
1200 if (C == EHStack.stable_begin()) { in DeactivateCleanupBlock()