MLIR  20.0.0git
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
mlir::AsmParserState::Impl Struct Reference

Classes

struct  PartialOpDef
 

Public Types

using SymbolUseMap = DenseMap< Attribute, SmallVector< SmallVector< SMRange >, 0 > >
 A map from a SymbolRefAttr to a range of uses. More...
 

Public Member Functions

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

Public Attributes

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

Detailed Description

Definition at line 33 of file AsmParserState.cpp.

Member Typedef Documentation

◆ SymbolUseMap

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 ( )

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 mlir::AsmParserState::Impl::resolveSymbolUses().

◆ operationToIdx

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

Definition at line 57 of file AsmParserState.cpp.

Referenced by mlir::AsmParserState::Impl::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 mlir::AsmParserState::Impl::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 mlir::AsmParserState::Impl::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: