CIRCT 20.0.0git
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
ElaborationPass.cpp File Reference
#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/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.

Namespaces

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

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 llvm::hash_code hash_value (const ElaboratorValue &val)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "rtg-elaboration"

Definition at line 41 of file ElaborationPass.cpp.

◆ GEN_PASS_DEF_ELABORATIONPASS

#define GEN_PASS_DEF_ELABORATIONPASS

Definition at line 31 of file ElaborationPass.cpp.

Function Documentation

◆ computeMask()

static uint32_t computeMask ( size_t  w)
static

Definition at line 52 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 59 of file ElaborationPass.cpp.

References computeMask().

◆ hash_value()

static llvm::hash_code hash_value ( const ElaboratorValue &  val)
static

Definition at line 392 of file ElaborationPass.cpp.

◆ operator<<()

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

Definition at line 380 of file ElaborationPass.cpp.