Lines Matching refs:Scope
177 EHCleanupScope *Scope = in pushCleanup() local
190 return Scope->getCleanupBuffer(); in pushCleanup()
408 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks() local
414 Old.strictlyEncloses(Scope.getEnclosingNormalCleanup()); in PopCleanupBlocks()
448 EHCleanupScope &Scope) { in CreateNormalEntry() argument
449 assert(Scope.isNormalCleanup()); in CreateNormalEntry()
450 llvm::BasicBlock *Entry = Scope.getNormalBlock(); in CreateNormalEntry()
453 Scope.setNormalBlock(Entry); in CreateNormalEntry()
589 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock() local
590 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
593 bool IsActive = Scope.isActive(); in PopCleanupBlock()
595 Scope.shouldTestFlagInNormalCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
598 Scope.shouldTestFlagInEHCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
603 llvm::BasicBlock *EHEntry = Scope.getCachedEHDispatchBlock(); in PopCleanupBlock()
604 assert(Scope.hasEHBranches() == (EHEntry != nullptr)); in PopCleanupBlock()
606 EHScopeStack::stable_iterator EHParent = Scope.getEnclosingEHScope(); in PopCleanupBlock()
611 unsigned FixupDepth = Scope.getFixupDepth(); in PopCleanupBlock()
615 bool HasExistingBranches = Scope.hasBranches(); in PopCleanupBlock()
631 assert(!Scope.isNormalCleanup() || !HasPrebranchedFallthrough || in PopCleanupBlock()
632 (Scope.getNormalBlock() && in PopCleanupBlock()
634 == Scope.getNormalBlock())); in PopCleanupBlock()
637 if (Scope.isNormalCleanup() && in PopCleanupBlock()
644 if (Scope.isNormalCleanup() && HasPrebranchedFallthrough && !IsActive) { in PopCleanupBlock()
651 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
663 llvm::BasicBlock *normalEntry = Scope.getNormalBlock(); in PopCleanupBlock()
672 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
682 auto *CleanupSource = reinterpret_cast<char *>(Scope.getCleanupBuffer()); in PopCleanupBlock()
684 CleanupSource, CleanupSource + Scope.getCleanupSize()); in PopCleanupBlock()
688 if (Scope.isNormalCleanup()) in PopCleanupBlock()
690 if (Scope.isEHCleanup()) in PopCleanupBlock()
694 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
702 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
711 llvm::BasicBlock *NormalEntry = CreateNormalEntry(*this, Scope); in PopCleanupBlock()
739 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
747 if (Scope.hasBranchThroughs() || in PopCleanupBlock()
751 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
760 if (!Scope.hasBranchThroughs() && !HasFixups && !HasFallthrough && in PopCleanupBlock()
761 Scope.getNumBranchAfters() == 1) { in PopCleanupBlock()
773 llvm::BasicBlock *BranchAfter = Scope.getBranchAfterBlock(0); in PopCleanupBlock()
781 } else if (Scope.getNumBranchAfters() || in PopCleanupBlock()
807 for (unsigned I = 0, E = Scope.getNumBranchAfters(); I != E; ++I) { in PopCleanupBlock()
808 Switch->addCase(Scope.getBranchAfterIndex(I), in PopCleanupBlock()
809 Scope.getBranchAfterBlock(I)); in PopCleanupBlock()
1012 EHCleanupScope &Scope = in EmitBranchThroughCleanup() local
1014 BI->setSuccessor(0, CreateNormalEntry(*this, Scope)); in EmitBranchThroughCleanup()
1022 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup() local
1023 assert(Scope.isNormalCleanup()); in EmitBranchThroughCleanup()
1024 I = Scope.getEnclosingNormalCleanup(); in EmitBranchThroughCleanup()
1029 Scope.addBranchAfter(Index, Dest.getBlock()); in EmitBranchThroughCleanup()
1036 if (!Scope.addBranchThrough(Dest.getBlock())) in EmitBranchThroughCleanup()
1098 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation() local
1111 if (Scope.isNormalCleanup() && in SetupCleanupBlockActivation()
1113 Scope.setTestFlagInNormalCleanup(); in SetupCleanupBlockActivation()
1118 if (Scope.isEHCleanup() && in SetupCleanupBlockActivation()
1120 Scope.setTestFlagInEHCleanup(); in SetupCleanupBlockActivation()
1127 Address var = Scope.getActiveFlag(); in SetupCleanupBlockActivation()
1131 Scope.setActiveFlag(var); in SetupCleanupBlockActivation()
1155 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock() local
1156 assert(!Scope.isActive() && "double activation"); in ActivateCleanupBlock()
1160 Scope.setActive(true); in ActivateCleanupBlock()
1167 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock() local
1168 assert(Scope.isActive() && "double deactivation"); in DeactivateCleanupBlock()
1183 Scope.setActive(false); in DeactivateCleanupBlock()