17#ifndef CLANG_CIR_DIALECT_ANALYSIS_CIRBASICALIASANALYSIS_H
18#define CLANG_CIR_DIALECT_ANALYSIS_CIRBASICALIASANALYSIS_H
20#include "mlir/Analysis/AliasAnalysis.h"
21#include "mlir/IR/Operation.h"
22#include "mlir/IR/Value.h"
30 enum class ObjectRelation {
48 mlir::AliasResult
alias(mlir::Value lhs, mlir::Value rhs);
54 mlir::ModRefResult
getModRef(mlir::Operation *op, mlir::Value location);
60 mlir::Value getUnderlyingObject(mlir::Value val);
66 ObjectRelation classifyObjects(mlir::Value lhs, mlir::Value rhs);
mlir::ModRefResult getModRef(mlir::Operation *op, mlir::Value location)
Return the modify-reference behavior of op on location.
CIRBasicAliasAnalysis(CIRBasicAliasAnalysis &&)=default
mlir::AliasResult alias(mlir::Value lhs, mlir::Value rhs)
Return the aliasing behavior between two values.
CIRBasicAliasAnalysis()=default