MLIR  17.0.0git
Classes | Public Member Functions | List of all members
mlir::bufferization::OpFilter Class Reference

#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"

Classes

struct  Entry
 An op filter entry. More...
 

Public Member Functions

bool isOpAllowed (Operation *op) const
 Return whether the op is allowed or not. More...
 
template<typename... DialectTs>
void allowDialect ()
 Allow the given dialects. More...
 
template<typename... DialectTs>
void denyDialect ()
 Deny the given dialects. More...
 
void allowDialect (StringRef dialectNamespace)
 Allow the given dialect. More...
 
template<typename... OpTys>
void allowOperation ()
 Allow the given ops. More...
 
template<typename... OpTys>
void denyOperation ()
 Deny the given ops. More...
 
void allowOperation (StringRef opName)
 Allow the given op. More...
 
void denyOperation (StringRef opName)
 Deny the given op. More...
 
void allowOperation (Entry::FilterFn fn)
 Allow ops that are matched by fn. More...
 
void denyOperation (Entry::FilterFn fn)
 Deny ops that are matched by fn. More...
 

Detailed Description

Definition at line 28 of file BufferizableOpInterface.h.

Member Function Documentation

◆ allowDialect() [1/2]

template<typename... DialectTs>
void mlir::bufferization::OpFilter::allowDialect ( )
inline

Allow the given dialects.

This function adds one or multiple ALLOW entries.

Definition at line 55 of file BufferizableOpInterface.h.

◆ allowDialect() [2/2]

void mlir::bufferization::OpFilter::allowDialect ( StringRef  dialectNamespace)
inline

Allow the given dialect.

This function adds an ALLOW entry.

Definition at line 72 of file BufferizableOpInterface.h.

◆ allowOperation() [1/3]

template<typename... OpTys>
void mlir::bufferization::OpFilter::allowOperation ( )
inline

Allow the given ops.

This function adds one or multiple ALLOW entries.

Definition at line 83 of file BufferizableOpInterface.h.

Referenced by allowOperation(), and mlir::sparse_tensor::SparsificationAndBufferizationPass::runDenseBufferization().

◆ allowOperation() [2/3]

void mlir::bufferization::OpFilter::allowOperation ( Entry::FilterFn  fn)
inline

Allow ops that are matched by fn.

This function adds an ALLOW entry.

Definition at line 118 of file BufferizableOpInterface.h.

◆ allowOperation() [3/3]

void mlir::bufferization::OpFilter::allowOperation ( StringRef  opName)
inline

Allow the given op.

This function adds an ALLOW entry.

Definition at line 98 of file BufferizableOpInterface.h.

References allowOperation().

◆ denyDialect()

template<typename... DialectTs>
void mlir::bufferization::OpFilter::denyDialect ( )
inline

Deny the given dialects.

This function adds one or multiple DENY entries.

Definition at line 65 of file BufferizableOpInterface.h.

◆ denyOperation() [1/3]

template<typename... OpTys>
void mlir::bufferization::OpFilter::denyOperation ( )
inline

Deny the given ops.

This function adds one or multiple DENY entries.

Definition at line 91 of file BufferizableOpInterface.h.

Referenced by denyOperation().

◆ denyOperation() [2/3]

void mlir::bufferization::OpFilter::denyOperation ( Entry::FilterFn  fn)
inline

Deny ops that are matched by fn.

This function adds a DENY entry.

Definition at line 125 of file BufferizableOpInterface.h.

◆ denyOperation() [3/3]

void mlir::bufferization::OpFilter::denyOperation ( StringRef  opName)
inline

Deny the given op.

This function adds a DENY entry.

Definition at line 108 of file BufferizableOpInterface.h.

References denyOperation().

◆ isOpAllowed()

bool OpFilter::isOpAllowed ( Operation op) const

Return whether the op is allowed or not.

If the filter does not have an ALLOW rule, ops are allowed by default, unless they are explicitly marked as DENY. If the filter has at least one ALLOW rule, ops are denied by default and only allowed if they match an ALLOW rule and no DENY rule.

Definition at line 277 of file BufferizableOpInterface.cpp.

References mlir::bufferization::OpFilter::Entry::ALLOW, and mlir::bufferization::OpFilter::Entry::DENY.

Referenced by mlir::bufferization::bufferizeOp(), and mlir::bufferization::BufferizationOptions::isOpAllowed().


The documentation for this class was generated from the following files: