MLIR 22.0.0git
mlir::ModRefResult Class Reference

The possible results of whether a memory access modifies or references a memory location. More...

#include "mlir/Analysis/AliasAnalysis.h"

Public Member Functions

bool operator== (const ModRefResult &rhs) const
bool operator!= (const ModRefResult &rhs) const
bool isNoModRef () const
 Returns if this result does not modify or reference memory.
bool isMod () const
 Returns if this result modifies memory.
bool isRef () const
 Returns if this result references memory.
bool isModOrRef () const
 Returns if this result modifies or references memory.
bool isModAndRef () const
 Returns if this result modifies and references memory.
ModRefResult merge (const ModRefResult &other)
 Merge this ModRef result with other and return the result.
ModRefResult intersect (const ModRefResult &other)
 Intersect this ModRef result with other and return the result.
void print (raw_ostream &os) const
 Print this ModRef result to the provided output stream.

Static Public Member Functions

static ModRefResult getNoModRef ()
 Return a new result that indicates that the memory access neither references nor modifies the value stored in memory.
static ModRefResult getRef ()
 Return a new result that indicates that the memory access may reference the value stored in memory.
static ModRefResult getMod ()
 Return a new result that indicates that the memory access may modify the value stored in memory.
static ModRefResult getModAndRef ()
 Return a new result that indicates that the memory access may reference and may modify the value stored in memory.

Detailed Description

The possible results of whether a memory access modifies or references a memory location.

The possible results are: no access at all, a modification, a reference, or both a modification and a reference.

Definition at line 90 of file AliasAnalysis.h.

Member Function Documentation

◆ getMod()

ModRefResult mlir::ModRefResult::getMod ( )
inlinestatic

Return a new result that indicates that the memory access may modify the value stored in memory.

Definition at line 119 of file AliasAnalysis.h.

Referenced by mlir::LocalAliasAnalysis::getModRef().

◆ getModAndRef()

ModRefResult mlir::ModRefResult::getModAndRef ( )
inlinestatic

Return a new result that indicates that the memory access may reference and may modify the value stored in memory.

Definition at line 123 of file AliasAnalysis.h.

Referenced by mlir::AliasAnalysis::getModRef(), and mlir::LocalAliasAnalysis::getModRef().

◆ getNoModRef()

ModRefResult mlir::ModRefResult::getNoModRef ( )
inlinestatic

Return a new result that indicates that the memory access neither references nor modifies the value stored in memory.

Definition at line 111 of file AliasAnalysis.h.

Referenced by mlir::LocalAliasAnalysis::getModRef().

◆ getRef()

ModRefResult mlir::ModRefResult::getRef ( )
inlinestatic

Return a new result that indicates that the memory access may reference the value stored in memory.

Definition at line 115 of file AliasAnalysis.h.

Referenced by mlir::LocalAliasAnalysis::getModRef().

◆ intersect()

ModRefResult mlir::ModRefResult::intersect ( const ModRefResult & other)
inline

Intersect this ModRef result with other and return the result.

Definition at line 150 of file AliasAnalysis.h.

◆ isMod()

bool mlir::ModRefResult::isMod ( ) const
inlinenodiscard

Returns if this result modifies memory.

Definition at line 129 of file AliasAnalysis.h.

◆ isModAndRef()

bool mlir::ModRefResult::isModAndRef ( ) const
inlinenodiscard

Returns if this result modifies and references memory.

Definition at line 142 of file AliasAnalysis.h.

◆ isModOrRef()

bool mlir::ModRefResult::isModOrRef ( ) const
inlinenodiscard

Returns if this result modifies or references memory.

Definition at line 139 of file AliasAnalysis.h.

◆ isNoModRef()

bool mlir::ModRefResult::isNoModRef ( ) const
inlinenodiscard

Returns if this result does not modify or reference memory.

Definition at line 126 of file AliasAnalysis.h.

◆ isRef()

bool mlir::ModRefResult::isRef ( ) const
inlinenodiscard

Returns if this result references memory.

Definition at line 134 of file AliasAnalysis.h.

◆ merge()

ModRefResult mlir::ModRefResult::merge ( const ModRefResult & other)
inline

Merge this ModRef result with other and return the result.

Definition at line 145 of file AliasAnalysis.h.

◆ operator!=()

bool mlir::ModRefResult::operator!= ( const ModRefResult & rhs) const
inline

Definition at line 107 of file AliasAnalysis.h.

References rhs.

◆ operator==()

bool mlir::ModRefResult::operator== ( const ModRefResult & rhs) const
inline

Definition at line 106 of file AliasAnalysis.h.

References rhs.

◆ print()

void ModRefResult::print ( raw_ostream & os) const

Print this ModRef result to the provided output stream.

Definition at line 55 of file AliasAnalysis.cpp.


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