Lines Matching refs:EHStack
309 EHCleanupScope &cleanup = cast<EHCleanupScope>(*EHStack.begin()); in initFullExprCleanupWithFlag()
340 for (unsigned I = 0, E = CGF.EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveAllBranchFixups()
342 BranchFixup &Fixup = CGF.EHStack.getBranchFixup(I); in ResolveAllBranchFixups()
368 CGF.EHStack.clearFixups(); in ResolveAllBranchFixups()
395 if (!EHStack.getNumBranchFixups()) return; in ResolveBranchFixups()
397 assert(EHStack.hasNormalCleanups() && in ResolveBranchFixups()
403 for (unsigned I = 0, E = EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveBranchFixups()
405 BranchFixup &Fixup = EHStack.getBranchFixup(I); in ResolveBranchFixups()
428 EHStack.popNullFixups(); in ResolveBranchFixups()
438 while (EHStack.stable_begin() != Old) { in PopCleanupBlocks()
439 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks()
505 EHStack.pushCopyOfCleanup(Header.getKind(), in PopCleanupBlocks()
660 assert(!EHStack.empty() && "cleanup stack is empty!"); in PopCleanupBlock()
661 assert(isa<EHCleanupScope>(*EHStack.begin()) && "top not a cleanup!"); in PopCleanupBlock()
662 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock()
663 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
685 bool HasFixups = EHStack.getNumBranchFixups() != FixupDepth; in PopCleanupBlock()
724 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
746 EHStack.popCleanup(); // safe because there are no fixups in PopCleanupBlock()
747 assert(EHStack.getNumBranchFixups() == 0 || in PopCleanupBlock()
748 EHStack.hasNormalCleanups()); in PopCleanupBlock()
790 EHStack.popCleanup(); in PopCleanupBlock()
806 EHStack.popCleanup(); in PopCleanupBlock()
850 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
862 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
937 EHStack.popCleanup(); in PopCleanupBlock()
938 assert(EHStack.hasNormalCleanups() == HasEnclosingCleanups); in PopCleanupBlock()
948 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
950 BranchFixup &Fixup = EHStack.getBranchFixup(I); in PopCleanupBlock()
999 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
1001 EHStack.getBranchFixup(I).OptimisticBranchBlock = NewNormalEntry; in PopCleanupBlock()
1005 assert(EHStack.hasNormalCleanups() || EHStack.getNumBranchFixups() == 0); in PopCleanupBlock()
1033 EHStack.pushTerminate(); in PopCleanupBlock()
1051 EHStack.popTerminate(); in PopCleanupBlock()
1063 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in isObviouslyBranchWithoutCleanups()
1068 EHStack.getInnermostActiveNormalCleanup(); in isObviouslyBranchWithoutCleanups()
1073 if (TopCleanup == EHStack.stable_end() || in isObviouslyBranchWithoutCleanups()
1088 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in EmitBranchThroughCleanup()
1099 TopCleanup = EHStack.getInnermostActiveNormalCleanup(); in EmitBranchThroughCleanup()
1104 if (TopCleanup == EHStack.stable_end() || in EmitBranchThroughCleanup()
1113 BranchFixup &Fixup = EHStack.addBranchFixup(); in EmitBranchThroughCleanup()
1132 cast<EHCleanupScope>(*EHStack.find(TopCleanup)); in EmitBranchThroughCleanup()
1141 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup()
1163 static bool IsUsedAsNormalCleanup(EHScopeStack &EHStack, in IsUsedAsNormalCleanup() argument
1166 if (cast<EHCleanupScope>(*EHStack.find(C)).getNormalBlock()) in IsUsedAsNormalCleanup()
1171 I = EHStack.getInnermostNormalCleanup(); in IsUsedAsNormalCleanup()
1174 EHCleanupScope &S = cast<EHCleanupScope>(*EHStack.find(I)); in IsUsedAsNormalCleanup()
1182 static bool IsUsedAsEHCleanup(EHScopeStack &EHStack, in IsUsedAsEHCleanup() argument
1185 if (EHStack.find(cleanup)->hasEHBranches()) in IsUsedAsEHCleanup()
1190 i = EHStack.getInnermostEHScope(); i != cleanup; ) { in IsUsedAsEHCleanup()
1193 EHScope &scope = *EHStack.find(i); in IsUsedAsEHCleanup()
1217 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation()
1231 (isActivatedInConditional || IsUsedAsNormalCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1238 (isActivatedInConditional || IsUsedAsEHCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1273 assert(C != EHStack.stable_end() && "activating bottom of stack?"); in ActivateCleanupBlock()
1274 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock()
1285 assert(C != EHStack.stable_end() && "deactivating bottom of stack?"); in DeactivateCleanupBlock()
1286 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock()
1291 if (C == EHStack.stable_begin() && in DeactivateCleanupBlock()