MLIR  20.0.0git
Public Types | Public Member Functions | List of all members
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. More...
 
virtual SmallVector< OperatorTreplace (OpIterRange) const =0
 Replace the operators with a new list of operators. More...
 

Detailed Description

Definition at line 31 of file DIExpressionRewriter.h.

Member Typedef Documentation

◆ OperatorT

Definition at line 33 of file DIExpressionRewriter.h.

◆ OpIterRange

Definition at line 35 of file DIExpressionRewriter.h.

◆ 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: