MLIR 22.0.0git
mlir::AsmParserState::Impl Struct Reference

Classes

struct  PartialOpDef

Public Types

using SymbolUseMap
 A map from a SymbolRefAttr to a range of uses.

Public Member Functions

void resolveSymbolUses ()
 Resolve any symbol table uses in the IR.

Public Attributes

SmallVector< std::unique_ptr< OperationDefinition > > operations
 A mapping from operations in the input source file to their parser state.
DenseMap< Operation *, unsignedoperationToIdx
SmallVector< std::unique_ptr< BlockDefinition > > blocks
 A mapping from blocks in the input source file to their parser state.
DenseMap< Block *, unsignedblocksToIdx
SmallVector< std::unique_ptr< AttributeAliasDefinition > > attrAliases
 A mapping from aliases in the input source file to their parser state.
SmallVector< std::unique_ptr< TypeAliasDefinition > > typeAliases
llvm::StringMap< unsignedattrAliasToIdx
llvm::StringMap< unsignedtypeAliasToIdx
DenseMap< Value, SmallVector< SMLoc > > placeholderValueUses
 A set of value definitions that are placeholders for forward references.
SmallVector< std::pair< Operation *, std::unique_ptr< SymbolUseMap > > > symbolTableOperations
 The symbol table operations within the IR.
SmallVector< PartialOpDefpartialOperations
 A stack of partial operation definitions that have been started but not yet finalized.
SmallVector< SymbolUseMap * > symbolUseScopes
 A stack of symbol use scopes.
SymbolTableCollection symbolTable
 A symbol table containing all of the symbol table operations in the IR.

Detailed Description

Definition at line 33 of file AsmParserState.cpp.

Member Typedef Documentation

◆ SymbolUseMap

Initial value:
llvm::DenseMap< KeyT, ValueT, KeyInfoT, BucketT > DenseMap
Definition LLVM.h:126

A map from a SymbolRefAttr to a range of uses.

Definition at line 35 of file AsmParserState.cpp.

Member Function Documentation

◆ resolveSymbolUses()

void mlir::AsmParserState::Impl::resolveSymbolUses ( )

Resolve any symbol table uses in the IR.

Definition at line 89 of file AsmParserState.cpp.

References operations, operationToIdx, symbolTable, and symbolTableOperations.

Member Data Documentation

◆ attrAliases

SmallVector<std::unique_ptr<AttributeAliasDefinition> > mlir::AsmParserState::Impl::attrAliases

A mapping from aliases in the input source file to their parser state.

Definition at line 64 of file AsmParserState.cpp.

◆ attrAliasToIdx

llvm::StringMap<unsigned> mlir::AsmParserState::Impl::attrAliasToIdx

Definition at line 66 of file AsmParserState.cpp.

◆ blocks

SmallVector<std::unique_ptr<BlockDefinition> > mlir::AsmParserState::Impl::blocks

A mapping from blocks in the input source file to their parser state.

Definition at line 60 of file AsmParserState.cpp.

◆ blocksToIdx

DenseMap<Block *, unsigned> mlir::AsmParserState::Impl::blocksToIdx

Definition at line 61 of file AsmParserState.cpp.

◆ operations

SmallVector<std::unique_ptr<OperationDefinition> > mlir::AsmParserState::Impl::operations

A mapping from operations in the input source file to their parser state.

Definition at line 56 of file AsmParserState.cpp.

Referenced by resolveSymbolUses().

◆ operationToIdx

DenseMap<Operation *, unsigned> mlir::AsmParserState::Impl::operationToIdx

Definition at line 57 of file AsmParserState.cpp.

Referenced by resolveSymbolUses().

◆ partialOperations

SmallVector<PartialOpDef> mlir::AsmParserState::Impl::partialOperations

A stack of partial operation definitions that have been started but not yet finalized.

Definition at line 79 of file AsmParserState.cpp.

◆ placeholderValueUses

DenseMap<Value, SmallVector<SMLoc> > mlir::AsmParserState::Impl::placeholderValueUses

A set of value definitions that are placeholders for forward references.

This map should be empty if the parser finishes successfully.

Definition at line 71 of file AsmParserState.cpp.

◆ symbolTable

SymbolTableCollection mlir::AsmParserState::Impl::symbolTable

A symbol table containing all of the symbol table operations in the IR.

Definition at line 86 of file AsmParserState.cpp.

Referenced by resolveSymbolUses().

◆ symbolTableOperations

SmallVector<std::pair<Operation *, std::unique_ptr<SymbolUseMap> > > mlir::AsmParserState::Impl::symbolTableOperations

The symbol table operations within the IR.

Definition at line 75 of file AsmParserState.cpp.

Referenced by resolveSymbolUses().

◆ symbolUseScopes

SmallVector<SymbolUseMap *> mlir::AsmParserState::Impl::symbolUseScopes

A stack of symbol use scopes.

This is used when collecting symbol table uses during parsing.

Definition at line 83 of file AsmParserState.cpp.

◆ typeAliases

SmallVector<std::unique_ptr<TypeAliasDefinition> > mlir::AsmParserState::Impl::typeAliases

Definition at line 65 of file AsmParserState.cpp.

◆ typeAliasToIdx

llvm::StringMap<unsigned> mlir::AsmParserState::Impl::typeAliasToIdx

Definition at line 67 of file AsmParserState.cpp.


The documentation for this struct was generated from the following file: