13#ifndef CIRCT_SUPPORT_PROCEDURALREGIONTRAIT_H
14#define CIRCT_SUPPORT_PROCEDURALREGIONTRAIT_H
17#include "mlir/IR/OpDefinition.h"
18#include "llvm/Support/LogicalResult.h"
42template <
typename ConcreteType>
46 return mlir::OpTrait::impl::verifyNRegions(op, 1);
51template <
typename ConcreteType>
55 return mlir::OpTrait::impl::verifyNRegions(op, 1);
60template <
typename ConcreteType>
70template <
typename ConcreteType>
Signals that an operation must not be in a procedural region.
static LogicalResult verifyTrait(Operation *op)
Signals that an operation's regions are non-procedural.
static LogicalResult verifyTrait(Operation *op)
Signals that an operation must not be in a non-procedural region.
static LogicalResult verifyTrait(Operation *op)
Signals that an operation's regions are procedural.
static LogicalResult verifyTrait(Operation *op)
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
LogicalResult verifyNotInNonProceduralRegion(Operation *op)
Returns success if the operation has no closer surrounding parent marked as non-procedural region tha...
LogicalResult verifyNotInProceduralRegion(Operation *op)
Returns success if the operation has no closer surrounding parent marked as procedural region than it...
bool isInProceduralRegion(Operation *op)
Returns true if op has a parent marked as a procedural region that is closer than any parent marked a...