8#ifndef MLIR_INTERFACES_FOLDINTERFACES_H_
9#define MLIR_INTERFACES_FOLDINTERFACES_H_
12#include "llvm/ADT/ArrayRef.h"
13#include "llvm/ADT/SmallVector.h"
Attributes are known-constant values of operations.
virtual LogicalResult fold(Operation *op, ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) const
Registered fallback fold for the dialect.
DialectFoldInterface(Dialect *dialect)
virtual bool shouldMaterializeInto(Region *region) const
Registered hook to check if the given region, which is attached to an operation that is not isolated ...
detail::DialectInterfaceBase< ConcreteType, DialectInterface > Base
The base class used for all derived interface types.
Dialects are groups of MLIR operations, types and attributes, as well as behavior associated with the...
This class represents a single result from folding an operation.
Operation is the basic unit of execution within MLIR.
This class contains a list of basic blocks and a link to the parent operation it is attached to.
DialectInterfaceBase< ConcreteType, DialectInterface > Base
Include the generated interface declarations.