|
Enzyme main
|
This analysis implements interprocedural alias analysis. More...
#include "MLIR/Analysis/DataFlowAliasAnalysis.h"


Public Member Functions | |
| AliasAnalysis (DataFlowSolver &solver, MLIRContext *ctx, bool relative=false) | |
| void | setToEntryState (AliasClassLattice *lattice) override |
| LogicalResult | visitOperation (Operation *op, ArrayRef< const AliasClassLattice * > operands, ArrayRef< AliasClassLattice * > results) override |
| void | visitExternalCall (CallOpInterface call, ArrayRef< const AliasClassLattice * > operands, ArrayRef< AliasClassLattice * > results) override |
This analysis implements interprocedural alias analysis.
Definition at line 231 of file DataFlowAliasAnalysis.h.
|
inline |
Definition at line 234 of file DataFlowAliasAnalysis.h.
|
override |
Definition at line 787 of file DataFlowAliasAnalysis.cpp.
References isPointerLike(), mlir::enzyme::SparseSetLattice< ValueT >::isUndefined(), mlir::enzyme::AliasClassLattice::join(), and mlir::enzyme::AliasClassLattice::single().
|
override |
Definition at line 1069 of file DataFlowAliasAnalysis.cpp.
References deserializeAliasSummary(), mlir::enzyme::SetLattice< ValueT >::foreachElement(), mlir::enzyme::AliasClassLattice::getAliasClassesObject(), getEffectsForExternalCall(), mlir::enzyme::SetLattice< DistinctAttr >::getEmpty(), getFunctionArgModRef(), getFunctionInaccessibleModRef(), getFunctionOtherModRef(), mlir::enzyme::SparseSetLattice< ValueT >::insert(), isPointerLike(), mlir::enzyme::AliasClassLattice::join(), mlir::enzyme::SparseSetLattice< ValueT >::markUnknown(), mayReadArg(), modRefMayRef(), and mlir::enzyme::AliasClassLattice::single().
|
override |
Definition at line 1019 of file DataFlowAliasAnalysis.cpp.
References isPointerLike().