13#ifndef CIRCT_DIALECT_ESI_ESIOPS_H
14#define CIRCT_DIALECT_ESI_ESIOPS_H
23#include "mlir/IR/OpImplementation.h"
24#include "mlir/Interfaces/InferTypeOpInterface.h"
25#include "mlir/Interfaces/SideEffectInterfaces.h"
32template <
typename ConcreteType>
49 ChannelBundleType svcBundleType,
50 ChannelBundleType reqBundleType,
51 bool skipDirectionCheck);
56#include "circt/Dialect/ESI/ESIInterfaces.h.inc"
59#include "circt/Dialect/ESI/ESI.h.inc"
Trait marking an ESI op that operates on ESI types (e.g.
LogicalResult checkBundleTypeMatch(Operation *req, ChannelBundleType svcBundleType, ChannelBundleType reqBundleType, bool skipDirectionCheck)
Check that the channels on two bundles match allowing for AnyType in the 'svc' bundle.
LogicalResult checkInnerTypeMatch(Type expected, Type actual)
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Describes a service port.