Lines Matching refs:Scope
183 EHCleanupScope *Scope = in pushCleanup() local
195 Scope->setLifetimeMarker(); in pushCleanup()
202 return Scope->getCleanupBuffer(); in pushCleanup()
427 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks() local
428 HadBranches |= Scope.hasBranches(); in PopCleanupBlocks()
434 Old.strictlyEncloses(Scope.getEnclosingNormalCleanup()); in PopCleanupBlocks()
509 EHCleanupScope &Scope) { in CreateNormalEntry() argument
510 assert(Scope.isNormalCleanup()); in CreateNormalEntry()
511 llvm::BasicBlock *Entry = Scope.getNormalBlock(); in CreateNormalEntry()
514 Scope.setNormalBlock(Entry); in CreateNormalEntry()
650 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock() local
651 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
654 bool IsActive = Scope.isActive(); in PopCleanupBlock()
656 Scope.shouldTestFlagInNormalCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
659 Scope.shouldTestFlagInEHCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
664 llvm::BasicBlock *EHEntry = Scope.getCachedEHDispatchBlock(); in PopCleanupBlock()
665 assert(Scope.hasEHBranches() == (EHEntry != nullptr)); in PopCleanupBlock()
667 EHScopeStack::stable_iterator EHParent = Scope.getEnclosingEHScope(); in PopCleanupBlock()
672 unsigned FixupDepth = Scope.getFixupDepth(); in PopCleanupBlock()
676 bool HasExistingBranches = Scope.hasBranches(); in PopCleanupBlock()
692 assert(!Scope.isNormalCleanup() || !HasPrebranchedFallthrough || in PopCleanupBlock()
693 (Scope.getNormalBlock() && in PopCleanupBlock()
695 == Scope.getNormalBlock())); in PopCleanupBlock()
698 if (Scope.isNormalCleanup() && in PopCleanupBlock()
705 if (Scope.isNormalCleanup() && HasPrebranchedFallthrough && !IsActive) { in PopCleanupBlock()
712 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
724 llvm::BasicBlock *normalEntry = Scope.getNormalBlock(); in PopCleanupBlock()
733 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
745 auto *CleanupSource = reinterpret_cast<char *>(Scope.getCleanupBuffer()); in PopCleanupBlock()
749 size_t CleanupSize = Scope.getCleanupSize(); in PopCleanupBlock()
762 if (Scope.isNormalCleanup()) in PopCleanupBlock()
764 if (Scope.isEHCleanup()) in PopCleanupBlock()
768 bool IsEHa = getLangOpts().EHAsynch && !Scope.isLifetimeMarker(); in PopCleanupBlock()
777 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
793 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
802 llvm::BasicBlock *NormalEntry = CreateNormalEntry(*this, Scope); in PopCleanupBlock()
838 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
846 if (Scope.hasBranchThroughs() || in PopCleanupBlock()
850 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
859 if (!Scope.hasBranchThroughs() && !HasFixups && !HasFallthrough && in PopCleanupBlock()
860 Scope.getNumBranchAfters() == 1) { in PopCleanupBlock()
872 llvm::BasicBlock *BranchAfter = Scope.getBranchAfterBlock(0); in PopCleanupBlock()
880 } else if (Scope.getNumBranchAfters() || in PopCleanupBlock()
909 for (unsigned I = 0, E = Scope.getNumBranchAfters(); I != E; ++I) { in PopCleanupBlock()
910 Switch->addCase(Scope.getBranchAfterIndex(I), in PopCleanupBlock()
911 Scope.getBranchAfterBlock(I)); in PopCleanupBlock()
1119 EHCleanupScope &Scope = in EmitBranchThroughCleanup() local
1121 BI->setSuccessor(0, CreateNormalEntry(*this, Scope)); in EmitBranchThroughCleanup()
1129 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup() local
1130 assert(Scope.isNormalCleanup()); in EmitBranchThroughCleanup()
1131 I = Scope.getEnclosingNormalCleanup(); in EmitBranchThroughCleanup()
1136 Scope.addBranchAfter(Index, Dest.getBlock()); in EmitBranchThroughCleanup()
1143 if (!Scope.addBranchThrough(Dest.getBlock())) in EmitBranchThroughCleanup()
1205 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation() local
1218 if (Scope.isNormalCleanup() && in SetupCleanupBlockActivation()
1220 Scope.setTestFlagInNormalCleanup(); in SetupCleanupBlockActivation()
1225 if (Scope.isEHCleanup() && in SetupCleanupBlockActivation()
1227 Scope.setTestFlagInEHCleanup(); in SetupCleanupBlockActivation()
1234 Address var = Scope.getActiveFlag(); in SetupCleanupBlockActivation()
1238 Scope.setActiveFlag(var); in SetupCleanupBlockActivation()
1262 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock() local
1263 assert(!Scope.isActive() && "double activation"); in ActivateCleanupBlock()
1267 Scope.setActive(true); in ActivateCleanupBlock()
1274 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock() local
1275 assert(Scope.isActive() && "double deactivation"); in DeactivateCleanupBlock()
1283 if (!Scope.isNormalCleanup() && getLangOpts().EHAsynch) { in DeactivateCleanupBlock()
1298 Scope.setActive(false); in DeactivateCleanupBlock()