MLIR 22.0.0git
mlir::LLVM::DIExpressionRewriter::ExprRewritePattern Class Referenceabstract

#include "mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h"

Inheritance diagram for mlir::LLVM::DIExpressionRewriter::ExprRewritePattern:

Public Types

using OperatorT = DIExpressionRewriter::OperatorT
using OpIterT = std::deque<OperatorT>::const_iterator
using OpIterRange = llvm::iterator_range<OpIterT>

Public Member Functions

virtual ~ExprRewritePattern ()=default
virtual OpIterT match (OpIterRange) const =0
 Checks whether a particular prefix of operators matches this pattern.
virtual SmallVector< OperatorTreplace (OpIterRange) const =0
 Replace the operators with a new list of operators.

Detailed Description

Definition at line 31 of file DIExpressionRewriter.h.

Member Typedef Documentation

◆ OperatorT

◆ OpIterRange

◆ OpIterT

Definition at line 34 of file DIExpressionRewriter.h.

Constructor & Destructor Documentation

◆ ~ExprRewritePattern()

virtual mlir::LLVM::DIExpressionRewriter::ExprRewritePattern::~ExprRewritePattern ( )
virtualdefault

Member Function Documentation

◆ match()

virtual OpIterT mlir::LLVM::DIExpressionRewriter::ExprRewritePattern::match ( OpIterRange ) const
pure virtual

Checks whether a particular prefix of operators matches this pattern.

The provided argument is guaranteed non-empty. Return the iterator after the last matched element.

Implemented in mlir::LLVM::MergeFragments.

◆ replace()

virtual SmallVector< OperatorT > mlir::LLVM::DIExpressionRewriter::ExprRewritePattern::replace ( OpIterRange ) const
pure virtual

Replace the operators with a new list of operators.

The provided argument is guaranteed to be the same length as returned by the match function.

Implemented in mlir::LLVM::MergeFragments.


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