My Project
Public Member Functions | Static Public Member Functions | List of all members
mlir::PatternBenefit Class Reference

#include <PatternMatch.h>

Public Member Functions

 PatternBenefit (unsigned benefit)
 
 PatternBenefit (const PatternBenefit &)=default
 
PatternBenefitoperator= (const PatternBenefit &)=default
 
bool isImpossibleToMatch () const
 
unsigned short getBenefit () const
 If the corresponding pattern can match, return its benefit. If the. More...
 
bool operator== (const PatternBenefit &rhs) const
 
bool operator!= (const PatternBenefit &rhs) const
 
bool operator< (const PatternBenefit &rhs) const
 

Static Public Member Functions

static PatternBenefit impossibleToMatch ()
 

Detailed Description

This class represents the benefit of a pattern match in a unitless scheme that ranges from 0 (very little benefit) to 65K. The most common unit to use here is the "number of operations matched" by the pattern.

This also has a sentinel representation that can be used for patterns that fail to match.

Constructor & Destructor Documentation

◆ PatternBenefit() [1/2]

PatternBenefit::PatternBenefit ( unsigned  benefit)

◆ PatternBenefit() [2/2]

mlir::PatternBenefit::PatternBenefit ( const PatternBenefit )
default

Member Function Documentation

◆ getBenefit()

unsigned short PatternBenefit::getBenefit ( ) const

If the corresponding pattern can match, return its benefit. If the.

◆ impossibleToMatch()

static PatternBenefit mlir::PatternBenefit::impossibleToMatch ( )
inlinestatic

◆ isImpossibleToMatch()

bool mlir::PatternBenefit::isImpossibleToMatch ( ) const
inline

◆ operator!=()

bool mlir::PatternBenefit::operator!= ( const PatternBenefit rhs) const
inline

◆ operator<()

bool mlir::PatternBenefit::operator< ( const PatternBenefit rhs) const
inline

◆ operator=()

PatternBenefit& mlir::PatternBenefit::operator= ( const PatternBenefit )
default

◆ operator==()

bool mlir::PatternBenefit::operator== ( const PatternBenefit rhs) const
inline

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