MLIR
20.0.0git
|
This class implements a local form of alias analysis that tries to identify the underlying values addressed by each value and performs a few basic checks to see if they alias. More...
#include "mlir/Analysis/AliasAnalysis/LocalAliasAnalysis.h"
Public Member Functions | |
virtual | ~LocalAliasAnalysis ()=default |
AliasResult | alias (Value lhs, Value rhs) |
Given two values, return their aliasing behavior. More... | |
ModRefResult | getModRef (Operation *op, Value location) |
Return the modify-reference behavior of op on location . More... | |
Protected Member Functions | |
virtual AliasResult | aliasImpl (Value lhs, Value rhs) |
Given the two values, return their aliasing behavior. More... | |
This class implements a local form of alias analysis that tries to identify the underlying values addressed by each value and performs a few basic checks to see if they alias.
Definition at line 24 of file LocalAliasAnalysis.h.
|
virtualdefault |
AliasResult LocalAliasAnalysis::alias | ( | Value | lhs, |
Value | rhs | ||
) |
Given two values, return their aliasing behavior.
Given the two values, return their aliasing behavior.
Definition at line 330 of file LocalAliasAnalysis.cpp.
References aliasImpl(), collectUnderlyingAddressValues(), mlir::AliasResult::MayAlias, and mlir::AliasResult::MustAlias.
Referenced by getModRef().
|
protectedvirtual |
Given the two values, return their aliasing behavior.
Definition at line 259 of file LocalAliasAnalysis.cpp.
References getAllocEffectFor(), mlir::Value::getParentBlock(), mlir::Region::getParentOp(), mlir::Value::getParentRegion(), mlir::Block::isEntryBlock(), mlir::Operation::isProperAncestor(), mlir::m_Constant(), mlir::matchPattern(), mlir::AliasResult::MayAlias, mlir::AliasResult::MustAlias, and mlir::AliasResult::NoAlias.
Referenced by alias().
ModRefResult LocalAliasAnalysis::getModRef | ( | Operation * | op, |
Value | location | ||
) |
Return the modify-reference behavior of op
on location
.
Definition at line 361 of file LocalAliasAnalysis.cpp.
References alias(), mlir::ModRefResult::getMod(), mlir::ModRefResult::getModAndRef(), mlir::ModRefResult::getNoModRef(), mlir::ModRefResult::getRef(), mlir::Operation::hasTrait(), mlir::ModRefResult::isModAndRef(), mlir::AliasResult::isNo(), mlir::AliasResult::MayAlias, and mlir::ModRefResult::merge().