CIRCT 21.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/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 <queue>
#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 >
 
struct  llvm::DenseMapInfo< LabelValue >
 

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"
 

Functions

static uint32_t computeMask (size_t w)
 
static uint32_t getUniformlyInRange (std::mt19937 &rng, uint32_t a, uint32_t b)
 Get a number uniformly at random in the in specified range.
 
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 (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 LabelValue &val, llvm::raw_ostream &os)
 

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.

Function Documentation

◆ computeMask()

static uint32_t computeMask ( size_t  w)
static

Definition at line 54 of file ElaborationPass.cpp.

Referenced by getUniformlyInRange().

◆ getUniformlyInRange()

static uint32_t getUniformlyInRange ( std::mt19937 &  rng,
uint32_t  a,
uint32_t  b 
)
static

Get a number uniformly at random in the in specified range.

Definition at line 61 of file ElaborationPass.cpp.

References computeMask().

◆ operator<<()

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

Definition at line 502 of file ElaborationPass.cpp.

References print().

◆ print() [1/11]

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

Definition at line 443 of file ElaborationPass.cpp.

◆ print() [2/11]

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

Definition at line 452 of file ElaborationPass.cpp.

◆ print() [3/11]

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

Definition at line 498 of file ElaborationPass.cpp.

◆ print() [4/11]

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

Definition at line 494 of file ElaborationPass.cpp.

◆ print() [5/11]

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

Definition at line 490 of file ElaborationPass.cpp.

◆ print() [6/11]

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

Definition at line 476 of file ElaborationPass.cpp.

◆ print() [7/11]

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

Definition at line 467 of file ElaborationPass.cpp.

◆ print() [8/11]

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

Definition at line 460 of file ElaborationPass.cpp.

◆ print() [9/11]

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

Definition at line 483 of file ElaborationPass.cpp.

◆ print() [10/11]

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

Definition at line 456 of file ElaborationPass.cpp.

◆ print() [11/11]

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