|
MLIR 22.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. | |
| AliasResult | merge (AliasResult other) const |
| Merge this alias result with other and return a new result that represents the conservative merge of both results. | |
| bool | isNo () const |
| Returns if this result indicates no possibility of aliasing. | |
| bool | isMay () const |
| Returns if this result is a may alias. | |
| bool | isMust () const |
| Returns if this result is a must alias. | |
| bool | isPartial () const |
| Returns if this result is a partial alias. | |
| void | print (raw_ostream &os) const |
| Print this alias result to the provided output stream. | |
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.
Referenced by merge(), operator!=(), and operator==().
|
inline |
Returns if this result is a may alias.
Definition at line 62 of file AliasAnalysis.h.
References MayAlias.
|
inline |
Returns if this result is a must alias.
Definition at line 65 of file AliasAnalysis.h.
References MustAlias.
Referenced by mlir::LocalAliasAnalysis::getModRef(), and merge().
|
inline |
Returns if this result indicates no possibility of aliasing.
Definition at line 59 of file AliasAnalysis.h.
References NoAlias.
Referenced by mlir::LocalAliasAnalysis::getModRef().
|
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 AliasResult(), 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.
References AliasResult().
|
inline |
Definition at line 45 of file AliasAnalysis.h.
References AliasResult().
| void AliasResult::print | ( | raw_ostream & | os | ) | const |
Print this alias result to the provided output stream.
Definition at line 34 of file AliasAnalysis.cpp.
References MayAlias, MustAlias, NoAlias, and PartialAlias.