CIRCT 24.0.0git
Loading...
Searching...
No Matches
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()

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()

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.

References failure().

Referenced by LowerLayersPass::runOnModuleBody().

◆ verifyPortUses()

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.

References success().

◆ warnBottleneck()

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.