#include "MLIR/Analysis/DataFlowAliasAnalysis.h"
|
| | PointsToPointerAnalysis (DataFlowSolver &solver) |
| |
| void | setToEntryState (PointsToSets *lattice) override |
| |
| LogicalResult | visitOperation (Operation *op, const PointsToSets &before, PointsToSets *after) override |
| |
| void | visitCallControlFlowTransfer (CallOpInterface call, dataflow::CallControlFlowAction action, const PointsToSets &before, PointsToSets *after) override |
| |
| void | processCapturingStore (ProgramPoint *dependent, PointsToSets *after, Value capturedValue, Value destinationAddress, bool isMustStore=false) |
| |
| void | processCallToSummarizedFunc (CallOpInterface call, const DenseMap< DistinctAttr, AliasClassSet > &summary, PointsToSets *after) |
| |
Definition at line 168 of file DataFlowAliasAnalysis.h.
◆ PointsToPointerAnalysis()
| mlir::enzyme::PointsToPointerAnalysis::PointsToPointerAnalysis |
( |
DataFlowSolver & | solver | ) |
|
|
inline |
◆ processCallToSummarizedFunc()
| void enzyme::PointsToPointerAnalysis::processCallToSummarizedFunc |
( |
CallOpInterface | call, |
|
|
const DenseMap< DistinctAttr, AliasClassSet > & | summary, |
|
|
PointsToSets * | after ) |
◆ processCapturingStore()
| void enzyme::PointsToPointerAnalysis::processCapturingStore |
( |
ProgramPoint * | dependent, |
|
|
PointsToSets * | after, |
|
|
Value | capturedValue, |
|
|
Value | destinationAddress, |
|
|
bool | isMustStore = false ) |
◆ setToEntryState()
| void enzyme::PointsToPointerAnalysis::setToEntryState |
( |
PointsToSets * | lattice | ) |
|
|
override |
◆ visitCallControlFlowTransfer()
| void enzyme::PointsToPointerAnalysis::visitCallControlFlowTransfer |
( |
CallOpInterface | call, |
|
|
dataflow::CallControlFlowAction | action, |
|
|
const PointsToSets & | before, |
|
|
PointsToSets * | after ) |
|
override |
Definition at line 506 of file DataFlowAliasAnalysis.cpp.
References mlir::enzyme::PointsToSets::addSetsFrom(), deserializePointsTo(), mlir::enzyme::SetLattice< ValueT >::getElements(), getFunctionArgModRef(), getFunctionOtherModRef(), mlir::enzyme::SetLattice< DistinctAttr >::getUndefined(), mlir::enzyme::PointsToSets::insert(), mlir::enzyme::SetLattice< ValueT >::insert(), isNoCapture(), isPointerLike(), mlir::enzyme::SetLattice< ValueT >::isUndefined(), mlir::enzyme::SetLattice< ValueT >::isUnknown(), mlir::enzyme::SetLattice< ValueT >::join(), mlir::enzyme::PointsToSets::markAllExceptPointToUnknown(), mlir::enzyme::PointsToSets::markAllPointToUnknown(), mlir::enzyme::PointsToSets::markPointToUnknown(), mlir::enzyme::SetLattice< ValueT >::markUnknown(), mayReadArg(), mayWriteArg(), modRefMayMod(), modRefMayRef(), mlir::enzyme::PointsToSets::setPointingToClasses(), and mlir::enzyme::AliasClassLattice::single().
◆ visitOperation()
| LogicalResult enzyme::PointsToPointerAnalysis::visitOperation |
( |
Operation * | op, |
|
|
const PointsToSets & | before, |
|
|
PointsToSets * | after ) |
|
override |
The documentation for this class was generated from the following files: