Lines Matching refs:impl
113 AsmParserState::AsmParserState() : impl(std::make_unique<Impl>()) {}
116 impl = std::move(other.impl);
124 return llvm::make_pointee_range(llvm::ArrayRef(impl->blocks));
129 auto it = impl->blocksToIdx.find(block);
130 return it == impl->blocksToIdx.end() ? nullptr : &*impl->blocks[it->second];
134 return llvm::make_pointee_range(llvm::ArrayRef(impl->operations));
139 auto it = impl->operationToIdx.find(op);
140 return it == impl->operationToIdx.end() ? nullptr
141 : &*impl->operations[it->second];
146 return llvm::make_pointee_range(ArrayRef(impl->attrAliases));
151 auto it = impl->attrAliasToIdx.find(name);
152 return it == impl->attrAliasToIdx.end() ? nullptr
153 : &*impl->attrAliases[it->second];
158 return llvm::make_pointee_range(ArrayRef(impl->typeAliases));
163 auto it = impl->typeAliasToIdx.find(name);
164 return it == impl->typeAliasToIdx.end() ? nullptr
165 : &*impl->typeAliases[it->second];
224 Impl::PartialOpDef &partialOpDef = impl->partialOperations.back();
226 impl->symbolUseScopes.push_back(partialOpDef.symbolTable.get());
230 assert(!impl->partialOperations.empty() &&
232 Impl::PartialOpDef partialOpDef = impl->partialOperations.pop_back_val();
236 impl->symbolTableOperations.emplace_back(
239 impl->resolveSymbolUses();
243 impl->partialOperations.emplace_back(opName);
249 assert(!impl->partialOperations.empty() &&
251 Impl::PartialOpDef partialOpDef = impl->partialOperations.pop_back_val();
259 impl->operationToIdx.try_emplace(op, impl->operations.size());
260 impl->operations.emplace_back(std::move(def));
264 impl->symbolTableOperations.emplace_back(
270 assert(!impl->partialOperations.empty() &&
275 Impl::PartialOpDef &partialOpDef = impl->partialOperations.back();
277 impl->symbolUseScopes.push_back(partialOpDef.symbolTable.get());
281 assert(!impl->partialOperations.empty() &&
286 Impl::PartialOpDef &partialOpDef = impl->partialOperations.back();
288 impl->symbolUseScopes.pop_back();
293 impl->blocksToIdx.try_emplace(block, impl->blocks.size());
295 impl->blocks.emplace_back(std::make_unique<BlockDefinition>(
302 impl->blocks[it->second]->definition.loc = convertIdLocToRange(location);
306 auto it = impl->blocksToIdx.find(blockArg.getOwner());
307 assert(it != impl->blocksToIdx.end() &&
309 BlockDefinition &def = *impl->blocks[it->second];
320 impl->attrAliasToIdx.try_emplace(name, impl->attrAliases.size());
323 impl->attrAliases.push_back(
326 AttributeAliasDefinition &attr = *impl->attrAliases[it->second];
335 impl->typeAliasToIdx.try_emplace(name, impl->typeAliases.size());
337 impl->typeAliases.push_back(
348 auto existingIt = impl->operationToIdx.find(parentOp);
349 if (existingIt == impl->operationToIdx.end()) {
350 impl->placeholderValueUses[value].append(locations.begin(),
359 OperationDefinition &def = *impl->operations[existingIt->second];
372 auto existingIt = impl->blocksToIdx.find(arg.getOwner());
373 assert(existingIt != impl->blocksToIdx.end() &&
375 BlockDefinition &blockDef = *impl->blocks[existingIt->second];
383 impl->blocksToIdx.try_emplace(block, impl->blocks.size());
385 impl->blocks.emplace_back(std::make_unique<BlockDefinition>(block));
387 BlockDefinition &def = *impl->blocks[it->second];
395 if (impl->symbolUseScopes.empty())
400 (*impl->symbolUseScopes.back())[refAttr].emplace_back(locations.begin(),
405 auto it = impl->attrAliasToIdx.find(name);
407 if (it == impl->attrAliasToIdx.end()) {
408 it = impl->attrAliasToIdx.try_emplace(name, impl->attrAliases.size()).first;
409 impl->attrAliases.push_back(
412 AttributeAliasDefinition &def = *impl->attrAliases[it->second];
417 auto it = impl->typeAliasToIdx.find(name);
419 assert(it != impl->typeAliasToIdx.end() &&
421 TypeAliasDefinition &def = *impl->typeAliases[it->second];
426 auto it = impl->placeholderValueUses.find(oldValue);
427 assert(it != impl->placeholderValueUses.end() &&
430 impl->placeholderValueUses.erase(oldValue);