CIRCT 24.0.0git
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
VerifyAXI4Networks.cpp File Reference
#include "circt/Dialect/AXI4/AXI4Ops.h"
#include "circt/Dialect/AXI4/AXI4Passes.h"
#include "mlir/IR/BuiltinOps.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/AXI4/AXI4Passes.h.inc"
Include dependency graph for VerifyAXI4Networks.cpp:

Go to the source code of this file.

Namespaces

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

Macros

#define GEN_PASS_DEF_VERIFYAXI4NETWORKS
 

Functions

static FailureOr< Domain > getDomain (Operation *op)
 The domain of an AXI4 op, or failure for one this pass does not know.
 
static LogicalResult verifyPortUses (Value port)
 Report a port value with more than one consumer, or with none at all.
 
static void emitDomainCrossing (Operation *op, Operation *other, StringRef domain)
 Report two ops connected by a port but operating in different domains.
 
static void warnBottleneck (Operation *op, TypedValue< PortType > port, uint32_t writes, uint32_t reads)
 Report an endpoint that can handle fewer requests than the port reaching it can have concurrently outstanding - this is a warning since it will only impact throughput.
 

Macro Definition Documentation

◆ GEN_PASS_DEF_VERIFYAXI4NETWORKS

#define GEN_PASS_DEF_VERIFYAXI4NETWORKS

Definition at line 20 of file VerifyAXI4Networks.cpp.

Function Documentation

◆ emitDomainCrossing()

static void emitDomainCrossing ( Operation *  op,
Operation *  other,
StringRef  domain 
)
static

Report two ops connected by a port but operating in different domains.

Definition at line 67 of file VerifyAXI4Networks.cpp.

◆ getDomain()

static FailureOr< Domain > getDomain ( Operation *  op)
static

The domain of an AXI4 op, or failure for one this pass does not know.

Definition at line 37 of file VerifyAXI4Networks.cpp.

Referenced by LowerLayersPass::runOnModuleBody().

◆ verifyPortUses()

static LogicalResult verifyPortUses ( Value  port)
static

Report a port value with more than one consumer, or with none at all.

Definition at line 51 of file VerifyAXI4Networks.cpp.

◆ warnBottleneck()

static void warnBottleneck ( Operation *  op,
TypedValue< PortType >  port,
uint32_t  writes,
uint32_t  reads 
)
static

Report an endpoint that can handle fewer requests than the port reaching it can have concurrently outstanding - this is a warning since it will only impact throughput.

Definition at line 78 of file VerifyAXI4Networks.cpp.