MLIR  20.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...
 
void denyDialect (StringRef dialectNamespace)
 Deny 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 100 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 127 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 144 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 165 of file BufferizableOpInterface.h.

Referenced by allowOperation().

◆ 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 200 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 180 of file BufferizableOpInterface.h.

References allowOperation().

◆ denyDialect() [1/2]

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

Deny the given dialects.

This function adds one or multiple DENY entries.

Definition at line 137 of file BufferizableOpInterface.h.

◆ denyDialect() [2/2]

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

Deny the given dialect.

This function adds a DENY entry.

Definition at line 154 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 173 of file BufferizableOpInterface.h.

Referenced by denyOperation(), mlir::sparse_tensor::SparsificationAndBufferizationPass::runDenseBufferization(), and mlir::bufferization::runOneShotModuleBufferize().

◆ 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 207 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 190 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 289 of file BufferizableOpInterface.cpp.

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

Referenced by mlir::bufferization::BufferizationOptions::isOpAllowed().


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