MLIR
20.0.0git
|
The possible results of an alias query. More...
#include "mlir/Analysis/AliasAnalysis.h"
Public Types | |
enum | Kind { NoAlias = 0 , MayAlias , PartialAlias , MustAlias } |
Public Member Functions | |
AliasResult (Kind kind) | |
bool | operator== (const AliasResult &other) const |
bool | operator!= (const AliasResult &other) const |
operator bool () const | |
Allow conversion to bool to signal if there is an aliasing or not. More... | |
AliasResult | merge (AliasResult other) const |
Merge this alias result with other and return a new result that represents the conservative merge of both results. More... | |
bool | isNo () const |
Returns if this result indicates no possibility of aliasing. More... | |
bool | isMay () const |
Returns if this result is a may alias. More... | |
bool | isMust () const |
Returns if this result is a must alias. More... | |
bool | isPartial () const |
Returns if this result is a partial alias. More... | |
void | print (raw_ostream &os) const |
Print this alias result to the provided output stream. More... | |
The possible results of an alias query.
Definition at line 26 of file AliasAnalysis.h.
Definition at line 28 of file AliasAnalysis.h.
|
inline |
Definition at line 44 of file AliasAnalysis.h.
|
inline |
Returns if this result is a may alias.
Definition at line 62 of file AliasAnalysis.h.
References MayAlias.
Referenced by mlir::AliasAnalysis::alias().
|
inline |
Returns if this result is a must alias.
Definition at line 65 of file AliasAnalysis.h.
References MustAlias.
Referenced by merge().
|
inline |
Returns if this result indicates no possibility of aliasing.
Definition at line 59 of file AliasAnalysis.h.
References NoAlias.
Referenced by mlir::affine::affineScalarReplace().
|
inline |
Returns if this result is a partial alias.
Definition at line 68 of file AliasAnalysis.h.
References PartialAlias.
Referenced by merge().
AliasResult AliasResult::merge | ( | AliasResult | other | ) | const |
Merge this alias result with other
and return a new result that represents the conservative merge of both results.
If the results represent a known alias, the stronger alias is chosen (i.e. Partial+Must=Must). If the two results are conflicting, MayAlias is returned.
Definition at line 24 of file AliasAnalysis.cpp.
References isMust(), isPartial(), MayAlias, and PartialAlias.
|
inlineexplicit |
Allow conversion to bool to signal if there is an aliasing or not.
Definition at line 49 of file AliasAnalysis.h.
References NoAlias.
|
inline |
Definition at line 46 of file AliasAnalysis.h.
|
inline |
Definition at line 45 of file AliasAnalysis.h.
void AliasResult::print | ( | raw_ostream & | os | ) | const |
Print this alias result to the provided output stream.
Definition at line 34 of file AliasAnalysis.cpp.
Referenced by mlir::operator<<().