Lines Matching refs:Scope

110   DILocalScope *Scope = DL->getScope();
111 if (!Scope)
116 if (auto *File = dyn_cast<DILexicalBlockFile>(Scope))
117 Scope = File->getScope();
120 auto I = InlinedLexicalScopeMap.find(std::make_pair(Scope, IA));
123 return findLexicalScope(Scope);
128 LexicalScope *LexicalScopes::getOrCreateLexicalScope(const DILocalScope *Scope,
132 getOrCreateAbstractScope(Scope);
134 return getOrCreateInlinedScope(Scope, IA);
137 return getOrCreateRegularScope(Scope);
142 LexicalScopes::getOrCreateRegularScope(const DILocalScope *Scope) {
143 if (auto *File = dyn_cast<DILexicalBlockFile>(Scope))
144 Scope = File->getScope();
146 auto I = LexicalScopeMap.find(Scope);
152 if (auto *Block = dyn_cast<DILexicalBlockBase>(Scope))
155 std::forward_as_tuple(Scope),
156 std::forward_as_tuple(Parent, Scope, nullptr,
160 assert(cast<DISubprogram>(Scope)->describes(MF->getFunction()));
170 LexicalScopes::getOrCreateInlinedScope(const DILocalScope *Scope,
172 std::pair<const DILocalScope *, const DILocation *> P(Scope, InlinedAt);
178 if (auto *Block = dyn_cast<DILexicalBlockBase>(Scope))
185 std::forward_as_tuple(Parent, Scope,
193 LexicalScopes::getOrCreateAbstractScope(const DILocalScope *Scope) {
194 assert(Scope && "Invalid Scope encoding!");
196 if (auto *File = dyn_cast<DILexicalBlockFile>(Scope))
197 Scope = File->getScope();
198 auto I = AbstractScopeMap.find(Scope);
204 if (auto *Block = dyn_cast<DILexicalBlockBase>(Scope))
208 std::forward_as_tuple(Scope),
209 std::forward_as_tuple(Parent, Scope,
211 if (isa<DISubprogram>(Scope))
217 void LexicalScopes::constructScopeNest(LexicalScope *Scope) {
218 assert(Scope && "Unable to calculate scope dominance graph!");
220 WorkStack.push_back(Scope);
274 LexicalScope *Scope = getOrCreateLexicalScope(DL);
275 if (!Scope)
278 if (Scope == CurrentFnLexicalScope) {
284 SmallVectorImpl<InsnRange> &InsnRanges = Scope->getRanges();
296 LexicalScope *Scope = getOrCreateLexicalScope(DL);
297 if (!Scope)
301 if (Scope == CurrentFnLexicalScope && MBB->getParent() == MF)
309 if (Scope->dominates(IScope))
325 err << std::string(Indent, ' ') << "Abstract Scope\n";