CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
ElaborationPass.cpp File Reference
#include "circt/Dialect/RTG/IR/RTGAttributes.h"
#include "circt/Dialect/RTG/IR/RTGOps.h"
#include "circt/Dialect/RTG/IR/RTGVisitors.h"
#include "circt/Dialect/RTG/Transforms/RTGPasses.h"
#include "circt/Support/Namespace.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Index/IR/IndexDialect.h"
#include "mlir/Dialect/Index/IR/IndexOps.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/IR/PatternMatch.h"
#include "llvm/ADT/DenseMapInfoVariant.h"
#include "llvm/Support/Debug.h"
#include <random>
#include "circt/Dialect/RTG/Transforms/RTGPasses.h.inc"
Include dependency graph for ElaborationPass.cpp:

Go to the source code of this file.

Classes

struct  llvm::DenseMapInfo< bool >
 

Namespaces

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
namespace  circt::rtg
 
namespace  llvm
 

Macros

#define GEN_PASS_DEF_ELABORATIONPASS
 
#define DEBUG_TYPE   "rtg-elaboration"
 
#define VISIT_UNSUPPORTED(STORAGETYPE)
 

Functions

static llvm::raw_ostream & operator<< (llvm::raw_ostream &os, const ElaboratorValue &value)
 
static void print (TypedAttr val, llvm::raw_ostream &os)
 
static void print (BagStorage *val, llvm::raw_ostream &os)
 
static void print (bool val, llvm::raw_ostream &os)
 
static void print (size_t val, llvm::raw_ostream &os)
 
static void print (SequenceStorage *val, llvm::raw_ostream &os)
 
static void print (RandomizedSequenceStorage *val, llvm::raw_ostream &os)
 
static void print (InterleavedSequenceStorage *val, llvm::raw_ostream &os)
 
static void print (ArrayStorage *val, llvm::raw_ostream &os)
 
static void print (SetStorage *val, llvm::raw_ostream &os)
 
static void print (const VirtualRegisterStorage *val, llvm::raw_ostream &os)
 
static void print (const UniqueLabelStorage *val, llvm::raw_ostream &os)
 
static void print (const TupleStorage *val, llvm::raw_ostream &os)
 
static void print (const MemoryStorage *val, llvm::raw_ostream &os)
 
static void print (const MemoryBlockStorage *val, llvm::raw_ostream &os)
 
static void print (const SymbolicComputationWithIdentityValue *val, llvm::raw_ostream &os)
 
static void print (const SymbolicComputationWithIdentityStorage *val, llvm::raw_ostream &os)
 
static void print (const SymbolicComputationStorage *val, llvm::raw_ostream &os)
 
static bool onlyLegalToMaterializeInTarget (Type type)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "rtg-elaboration"

Definition at line 43 of file ElaborationPass.cpp.

◆ GEN_PASS_DEF_ELABORATIONPASS

#define GEN_PASS_DEF_ELABORATIONPASS

Definition at line 33 of file ElaborationPass.cpp.

◆ VISIT_UNSUPPORTED

#define VISIT_UNSUPPORTED (   STORAGETYPE)
Value:
/* NOLINTNEXTLINE(bugprone-macro-parentheses)*/ \
TypedAttr visit(STORAGETYPE *val) { return {}; }

Definition at line 872 of file ElaborationPass.cpp.

Function Documentation

◆ onlyLegalToMaterializeInTarget()

static bool onlyLegalToMaterializeInTarget ( Type  type)
static

Definition at line 2510 of file ElaborationPass.cpp.

◆ operator<<()

static llvm::raw_ostream & operator<< ( llvm::raw_ostream &  os,
const ElaboratorValue &  value 
)
static

Definition at line 731 of file ElaborationPass.cpp.

References print().

◆ print() [1/17]

static void print ( ArrayStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 664 of file ElaborationPass.cpp.

◆ print() [2/17]

static void print ( BagStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 624 of file ElaborationPass.cpp.

◆ print() [3/17]

static void print ( bool  val,
llvm::raw_ostream &  os 
)
static

Definition at line 633 of file ElaborationPass.cpp.

◆ print() [4/17]

static void print ( const MemoryBlockStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 698 of file ElaborationPass.cpp.

◆ print() [5/17]

static void print ( const MemoryStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 693 of file ElaborationPass.cpp.

◆ print() [6/17]

static void print ( const SymbolicComputationStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 721 of file ElaborationPass.cpp.

◆ print() [7/17]

static void print ( const SymbolicComputationWithIdentityStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 711 of file ElaborationPass.cpp.

◆ print() [8/17]

static void print ( const SymbolicComputationWithIdentityValue *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 705 of file ElaborationPass.cpp.

◆ print() [9/17]

static void print ( const TupleStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 686 of file ElaborationPass.cpp.

◆ print() [10/17]

static void print ( const UniqueLabelStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 682 of file ElaborationPass.cpp.

◆ print() [11/17]

static void print ( const VirtualRegisterStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 678 of file ElaborationPass.cpp.

◆ print() [12/17]

static void print ( InterleavedSequenceStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 657 of file ElaborationPass.cpp.

◆ print() [13/17]

static void print ( RandomizedSequenceStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 648 of file ElaborationPass.cpp.

◆ print() [14/17]

static void print ( SequenceStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 641 of file ElaborationPass.cpp.

◆ print() [15/17]

static void print ( SetStorage *  val,
llvm::raw_ostream &  os 
)
static

Definition at line 671 of file ElaborationPass.cpp.

◆ print() [16/17]

static void print ( size_t  val,
llvm::raw_ostream &  os 
)
static

Definition at line 637 of file ElaborationPass.cpp.

◆ print() [17/17]

static void print ( TypedAttr  val,
llvm::raw_ostream &  os 
)
static