Lines Matching refs:Scope
195 EHCleanupScope *Scope = in pushCleanup() local
207 Scope->setLifetimeMarker(); in pushCleanup()
214 return Scope->getCleanupBuffer(); in pushCleanup()
439 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlocks() local
440 HadBranches |= Scope.hasBranches(); in PopCleanupBlocks()
446 Old.strictlyEncloses(Scope.getEnclosingNormalCleanup()); in PopCleanupBlocks()
521 EHCleanupScope &Scope) { in CreateNormalEntry() argument
522 assert(Scope.isNormalCleanup()); in CreateNormalEntry()
523 llvm::BasicBlock *Entry = Scope.getNormalBlock(); in CreateNormalEntry()
526 Scope.setNormalBlock(Entry); in CreateNormalEntry()
662 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.begin()); in PopCleanupBlock() local
663 assert(Scope.getFixupDepth() <= EHStack.getNumBranchFixups()); in PopCleanupBlock()
666 bool IsActive = Scope.isActive(); in PopCleanupBlock()
668 Scope.shouldTestFlagInNormalCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
671 Scope.shouldTestFlagInEHCleanup() ? Scope.getActiveFlag() in PopCleanupBlock()
676 llvm::BasicBlock *EHEntry = Scope.getCachedEHDispatchBlock(); in PopCleanupBlock()
677 assert(Scope.hasEHBranches() == (EHEntry != nullptr)); in PopCleanupBlock()
679 EHScopeStack::stable_iterator EHParent = Scope.getEnclosingEHScope(); in PopCleanupBlock()
684 unsigned FixupDepth = Scope.getFixupDepth(); in PopCleanupBlock()
688 bool HasExistingBranches = Scope.hasBranches(); in PopCleanupBlock()
704 assert(!Scope.isNormalCleanup() || !HasPrebranchedFallthrough || in PopCleanupBlock()
705 (Scope.getNormalBlock() && in PopCleanupBlock()
707 == Scope.getNormalBlock())); in PopCleanupBlock()
710 if (Scope.isNormalCleanup() && in PopCleanupBlock()
717 if (Scope.isNormalCleanup() && HasPrebranchedFallthrough && !IsActive) { in PopCleanupBlock()
724 EHScope &enclosing = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
736 llvm::BasicBlock *normalEntry = Scope.getNormalBlock(); in PopCleanupBlock()
745 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
757 auto *CleanupSource = reinterpret_cast<char *>(Scope.getCleanupBuffer()); in PopCleanupBlock()
761 size_t CleanupSize = Scope.getCleanupSize(); in PopCleanupBlock()
774 if (Scope.isNormalCleanup()) in PopCleanupBlock()
776 if (Scope.isEHCleanup()) in PopCleanupBlock()
780 bool IsEHa = getLangOpts().EHAsynch && !Scope.isLifetimeMarker(); in PopCleanupBlock()
789 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
805 destroyOptimisticNormalEntry(*this, Scope); in PopCleanupBlock()
814 llvm::BasicBlock *NormalEntry = CreateNormalEntry(*this, Scope); in PopCleanupBlock()
850 (Scope.getEnclosingNormalCleanup() != EHStack.stable_end()); in PopCleanupBlock()
858 if (Scope.hasBranchThroughs() || in PopCleanupBlock()
862 EHScope &S = *EHStack.find(Scope.getEnclosingNormalCleanup()); in PopCleanupBlock()
871 if (!Scope.hasBranchThroughs() && !HasFixups && !HasFallthrough && in PopCleanupBlock()
872 Scope.getNumBranchAfters() == 1) { in PopCleanupBlock()
884 llvm::BasicBlock *BranchAfter = Scope.getBranchAfterBlock(0); in PopCleanupBlock()
892 } else if (Scope.getNumBranchAfters() || in PopCleanupBlock()
921 for (unsigned I = 0, E = Scope.getNumBranchAfters(); I != E; ++I) { in PopCleanupBlock()
922 Switch->addCase(Scope.getBranchAfterIndex(I), in PopCleanupBlock()
923 Scope.getBranchAfterBlock(I)); in PopCleanupBlock()
1130 EHCleanupScope &Scope = in EmitBranchThroughCleanup() local
1132 BI->setSuccessor(0, CreateNormalEntry(*this, Scope)); in EmitBranchThroughCleanup()
1140 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(I)); in EmitBranchThroughCleanup() local
1141 assert(Scope.isNormalCleanup()); in EmitBranchThroughCleanup()
1142 I = Scope.getEnclosingNormalCleanup(); in EmitBranchThroughCleanup()
1147 Scope.addBranchAfter(Index, Dest.getBlock()); in EmitBranchThroughCleanup()
1154 if (!Scope.addBranchThrough(Dest.getBlock())) in EmitBranchThroughCleanup()
1216 EHCleanupScope &Scope = cast<EHCleanupScope>(*CGF.EHStack.find(C)); in SetupCleanupBlockActivation() local
1229 if (Scope.isNormalCleanup() && in SetupCleanupBlockActivation()
1231 Scope.setTestFlagInNormalCleanup(); in SetupCleanupBlockActivation()
1236 if (Scope.isEHCleanup() && in SetupCleanupBlockActivation()
1238 Scope.setTestFlagInEHCleanup(); in SetupCleanupBlockActivation()
1245 Address var = Scope.getActiveFlag(); in SetupCleanupBlockActivation()
1249 Scope.setActiveFlag(var); in SetupCleanupBlockActivation()
1273 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in ActivateCleanupBlock() local
1274 assert(!Scope.isActive() && "double activation"); in ActivateCleanupBlock()
1278 Scope.setActive(true); in ActivateCleanupBlock()
1285 EHCleanupScope &Scope = cast<EHCleanupScope>(*EHStack.find(C)); in DeactivateCleanupBlock() local
1286 assert(Scope.isActive() && "double deactivation"); in DeactivateCleanupBlock()
1294 if (!Scope.isNormalCleanup() && getLangOpts().EHAsynch) { in DeactivateCleanupBlock()
1309 Scope.setActive(false); in DeactivateCleanupBlock()