8 #ifndef MLIR_INTERFACES_FOLDINTERFACES_H_
9 #define MLIR_INTERFACES_FOLDINTERFACES_H_
12 #include "llvm/ADT/ArrayRef.h"
13 #include "llvm/ADT/SmallVector.h"
Define a fold interface to allow for dialects to control specific aspects of the folding behavior for...
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 ...
Dialects are groups of MLIR operations, types and attributes, as well as behavior associated with the...
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.
The base class used for all derived interface types.
Include the generated interface declarations.