Lines Matching defs:Scope

171   EHCleanupScope *Scope =
183 Scope->setLifetimeMarker();
185 Scope->setFakeUse();
197 return Scope->getCleanupBuffer();
431 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin());
432 HadBranches |= Scope.hasBranches();
438 Old.strictlyEncloses(Scope.getEnclosingNormalCleanup());
513 EHCleanupScope &Scope) {
514 assert(Scope.isNormalCleanup());
515 llvm::BasicBlock *Entry = Scope.getNormalBlock();
518 Scope.setNormalBlock(Entry);
656 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin());
657 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups());
662 if (ForDeactivation && (Scope.isNormalCleanup() || !getLangOpts().EHAsynch)) {
666 bool IsActive = Scope.isActive();
668 Scope.shouldTestFlagInNormalCleanup() ? Scope.getActiveFlag()
671 Scope.shouldTestFlagInEHCleanup() ? Scope.getActiveFlag()
676 llvm::BasicBlock *EHEntry = Scope.getCachedEHDispatchBlock();
677 assert(Scope.hasEHBranches() == (EHEntry != nullptr));
679 EHScopeStack::stable_iterator EHParent = Scope.getEnclosingEHScope();
684 unsigned FixupDepth = Scope.getFixupDepth();
688 bool HasExistingBranches = Scope.hasBranches();
705 assert(!Scope.isNormalCleanup() || !HasPrebranchedFallthrough ||
706 (Scope.getNormalBlock() &&
708 == Scope.getNormalBlock()));
711 if (Scope.isNormalCleanup() &&
718 if (Scope.isNormalCleanup() && HasPrebranchedFallthrough &&
729 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup());
741 llvm::BasicBlock *normalEntry = Scope.getNormalBlock();
750 destroyOptimisticNormalEntry(*this, Scope);
764 auto *CleanupSource = reinterpret_cast<char *>(Scope.getCleanupBuffer());
768 size_t CleanupSize = Scope.getCleanupSize();
781 if (Scope.isNormalCleanup())
783 if (Scope.isEHCleanup())
787 bool IsEHa = getLangOpts().EHAsynch && !Scope.isLifetimeMarker();
803 destroyOptimisticNormalEntry(*this, Scope);
804 Scope.MarkEmitted();
820 destroyOptimisticNormalEntry(*this, Scope);
821 Scope.MarkEmitted();
830 llvm::BasicBlock *NormalEntry = CreateNormalEntry(*this, Scope);
866 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end());
874 if (Scope.hasBranchThroughs() ||
878 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup());
892 if (!Scope.hasBranchThroughs() && !HasFixups && !HasFallthrough &&
893 !currentFunctionUsesSEHTry() && Scope.getNumBranchAfters() == 1) {
905 llvm::BasicBlock *BranchAfter = Scope.getBranchAfterBlock(0);
913 } else if (Scope.getNumBranchAfters() ||
941 for (unsigned I = 0, E = Scope.getNumBranchAfters(); I != E; ++I) {
942 Switch->addCase(Scope.getBranchAfterIndex(I),
943 Scope.getBranchAfterBlock(I));
957 Scope.MarkEmitted();
1157 EHCleanupScope &Scope =
1159 BI->setSuccessor(0, CreateNormalEntry(*this, Scope));
1167 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I));
1168 assert(Scope.isNormalCleanup());
1169 I = Scope.getEnclosingNormalCleanup();
1174 Scope.addBranchAfter(Index, Dest.getBlock());
1181 if (!Scope.addBranchThrough(Dest.getBlock()))
1224 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C));
1237 if (Scope.isNormalCleanup()) {
1238 Scope.setTestFlagInNormalCleanup();
1243 if (Scope.isEHCleanup() &&
1245 Scope.setTestFlagInEHCleanup();
1253 Address var = Scope.getActiveFlag();
1258 Scope.setActiveFlag(var);
1259 Scope.AddAuxAllocas(AllocaTracker.Take());
1283 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C));
1284 assert(!Scope.isActive() && "double activation");
1288 Scope.setActive(true);
1295 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C));
1296 assert(Scope.isActive() && "double deactivation");
1310 Scope.setActive(false);