Lines Matching refs:EHStack
267 EHCleanupScope &cleanup = cast<EHCleanupScope>(*EHStack.begin()); in initFullExprCleanup()
285 for (unsigned I = 0, E = CGF.EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveAllBranchFixups()
287 BranchFixup &Fixup = CGF.EHStack.getBranchFixup(I); in ResolveAllBranchFixups()
313 CGF.EHStack.clearFixups(); in ResolveAllBranchFixups()
340 if (!EHStack.getNumBranchFixups()) return; in ResolveBranchFixups()
342 assert(EHStack.hasNormalCleanups() && in ResolveBranchFixups()
348 for (unsigned I = 0, E = EHStack.getNumBranchFixups(); I != E; ++I) { in ResolveBranchFixups()
350 BranchFixup &Fixup = EHStack.getBranchFixup(I); in ResolveBranchFixups()
373 EHStack.popNullFixups(); in ResolveBranchFixups()
380 while (EHStack.stable_begin() != Old) { in PopCleanupBlocks()
381 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks()
412 EHStack.pushCopyOfCleanup(Header.getKind(), in PopCleanupBlocks()
479 CGF.EHStack.pushTerminate(); in EmitCleanup()
505 CGF.EHStack.popTerminate(); in EmitCleanup()
573 assert(!EHStack.empty() && "cleanup stack is empty!"); in PopCleanupBlock()
574 assert(isa<EHCleanupScope>(*EHStack.begin()) && "top not a cleanup!"); in PopCleanupBlock()
575 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock()
576 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
596 bool HasFixups = EHStack.getNumBranchFixups() != FixupDepth; in PopCleanupBlock()
635 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
657 EHStack.popCleanup(); // safe because there are no fixups in PopCleanupBlock()
658 assert(EHStack.getNumBranchFixups() == 0 || in PopCleanupBlock()
659 EHStack.hasNormalCleanups()); in PopCleanupBlock()
682 EHStack.popCleanup(); in PopCleanupBlock()
690 EHStack.popCleanup(); in PopCleanupBlock()
726 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
738 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
801 EHStack.popCleanup(); in PopCleanupBlock()
802 assert(EHStack.hasNormalCleanups() == HasEnclosingCleanups); in PopCleanupBlock()
812 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
814 BranchFixup &Fixup = EHStack.getBranchFixup(I); in PopCleanupBlock()
863 for (unsigned I = FixupDepth, E = EHStack.getNumBranchFixups(); in PopCleanupBlock()
865 EHStack.getBranchFixup(I).OptimisticBranchBlock = NewNormalEntry; in PopCleanupBlock()
869 assert(EHStack.hasNormalCleanups() || EHStack.getNumBranchFixups() == 0); in PopCleanupBlock()
897 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in isObviouslyBranchWithoutCleanups()
902 EHStack.getInnermostActiveNormalCleanup(); in isObviouslyBranchWithoutCleanups()
907 if (TopCleanup == EHStack.stable_end() || in isObviouslyBranchWithoutCleanups()
922 assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) in EmitBranchThroughCleanup()
933 TopCleanup = EHStack.getInnermostActiveNormalCleanup(); in EmitBranchThroughCleanup()
938 if (TopCleanup == EHStack.stable_end() || in EmitBranchThroughCleanup()
947 BranchFixup &Fixup = EHStack.addBranchFixup(); in EmitBranchThroughCleanup()
966 cast<EHCleanupScope>(*EHStack.find(TopCleanup)); in EmitBranchThroughCleanup()
975 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup()
997 static bool IsUsedAsNormalCleanup(EHScopeStack &EHStack, in IsUsedAsNormalCleanup() argument
1000 if (cast<EHCleanupScope>(*EHStack.find(C)).getNormalBlock()) in IsUsedAsNormalCleanup()
1005 I = EHStack.getInnermostNormalCleanup(); in IsUsedAsNormalCleanup()
1008 EHCleanupScope &S = cast<EHCleanupScope>(*EHStack.find(I)); in IsUsedAsNormalCleanup()
1016 static bool IsUsedAsEHCleanup(EHScopeStack &EHStack, in IsUsedAsEHCleanup() argument
1019 if (EHStack.find(cleanup)->hasEHBranches()) in IsUsedAsEHCleanup()
1024 i = EHStack.getInnermostEHScope(); i != cleanup; ) { in IsUsedAsEHCleanup()
1027 EHScope &scope = *EHStack.find(i); in IsUsedAsEHCleanup()
1051 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation()
1065 (isActivatedInConditional || IsUsedAsNormalCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1072 (isActivatedInConditional || IsUsedAsEHCleanup(CGF.EHStack, C))) { in SetupCleanupBlockActivation()
1106 assert(C != EHStack.stable_end() && "activating bottom of stack?"); in ActivateCleanupBlock()
1107 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock()
1118 assert(C != EHStack.stable_end() && "deactivating bottom of stack?"); in DeactivateCleanupBlock()
1119 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock()
1123 if (C == EHStack.stable_begin()) { in DeactivateCleanupBlock()