CIRCT  20.0.0git
Classes | Macros | Typedefs
FIRParser.cpp File Reference
#include "circt/Dialect/FIRRTL/FIRParser.h"
#include "FIRAnnotations.h"
#include "FIRLexer.h"
#include "circt/Dialect/FIRRTL/AnnotationDetails.h"
#include "circt/Dialect/FIRRTL/CHIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLAttributes.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/Import/FIRAnnotations.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/InnerSymbolNamespace.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/Threading.h"
#include "mlir/IR/Verifier.h"
#include "mlir/Support/Timing.h"
#include "mlir/Tools/mlir-translate/Translation.h"
#include "llvm/ADT/PointerEmbeddedInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
#include <utility>
#include "FIRTokenKinds.def"
Include dependency graph for FIRParser.cpp:

Go to the source code of this file.

Classes

class  FIRParser::LocWithInfo
 This helper class is used to handle Info records, which specify higher level symbolic source location, that may be missing from the file. More...
 

Macros

#define TOK_KEYWORD(spelling)   case FIRToken::kw_##spelling:
 
#define TOK_LPKEYWORD_PRIM(SPELLING, CLASS, NUMOPERANDS, NUMATTRIBUTES)
 

Typedefs

using UnbundledID = llvm::PointerEmbeddedInt< unsigned, 31 >
 
using SymbolValueEntry = llvm::PointerUnion< Value, UnbundledID >
 
using ModuleSymbolTable = llvm::StringMap< std::pair< SMLoc, SymbolValueEntry >, llvm::BumpPtrAllocator >
 
using ModuleSymbolTableEntry = ModuleSymbolTable::MapEntryTy
 
using UnbundledValueEntry = SmallVector< std::pair< Attribute, Value > >
 
using UnbundledValuesList = std::vector< UnbundledValueEntry >
 
using SubaccessCache = llvm::DenseMap< std::pair< Value, unsigned >, Value >
 

Macro Definition Documentation

◆ TOK_KEYWORD

#define TOK_KEYWORD (   spelling)    case FIRToken::kw_##spelling:

◆ TOK_LPKEYWORD_PRIM

#define TOK_LPKEYWORD_PRIM (   SPELLING,
  CLASS,
  NUMOPERANDS,
  NUMATTRIBUTES 
)
Value:
case FIRToken::lp_##SPELLING: \
if (parsePrimExp<CLASS, NUMOPERANDS, NUMATTRIBUTES>(result)) \
return failure(); \
break;

Typedef Documentation

◆ ModuleSymbolTable

using ModuleSymbolTable = llvm::StringMap<std::pair<SMLoc, SymbolValueEntry>, llvm::BumpPtrAllocator>

Definition at line 1338 of file FIRParser.cpp.

◆ ModuleSymbolTableEntry

using ModuleSymbolTableEntry = ModuleSymbolTable::MapEntryTy

Definition at line 1340 of file FIRParser.cpp.

◆ SubaccessCache

using SubaccessCache = llvm::DenseMap<std::pair<Value, unsigned>, Value>

Definition at line 1357 of file FIRParser.cpp.

◆ SymbolValueEntry

using SymbolValueEntry = llvm::PointerUnion<Value, UnbundledID>

Definition at line 1336 of file FIRParser.cpp.

◆ UnbundledID

using UnbundledID = llvm::PointerEmbeddedInt<unsigned, 31>

Definition at line 1335 of file FIRParser.cpp.

◆ UnbundledValueEntry

using UnbundledValueEntry = SmallVector<std::pair<Attribute, Value> >

Definition at line 1342 of file FIRParser.cpp.

◆ UnbundledValuesList

Definition at line 1343 of file FIRParser.cpp.