Enzyme main
Loading...
Searching...
No Matches
ActivityAnnotations.h File Reference
#include "DataFlowAliasAnalysis.h"
#include "DataFlowLattice.h"
#include "Dialect/Ops.h"
#include "mlir/Analysis/DataFlow/DenseAnalysis.h"
#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
#include "mlir/Analysis/DataFlowFramework.h"
Include dependency graph for ActivityAnnotations.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::enzyme::ForwardOriginsLattice
 
class  mlir::enzyme::BackwardOriginsLattice
 
class  mlir::enzyme::ForwardActivityAnnotationAnalysis
 
class  mlir::enzyme::BackwardActivityAnnotationAnalysis
 
class  mlir::enzyme::ForwardOriginsMap
 
class  mlir::enzyme::BackwardOriginsMap
 
class  mlir::enzyme::DenseActivityAnnotationAnalysis
 
class  mlir::enzyme::DenseBackwardActivityAnnotationAnalysis
 
class  mlir::enzyme::ActivityPrinterConfig
 

Namespaces

namespace  mlir
 
namespace  mlir::enzyme
 

Typedefs

using mlir::enzyme::ValueOriginSet = SetLattice<OriginAttr>
 

Functions

LogicalResult mlir::enzyme::reverseToposortCallgraph (CallableOpInterface callee, SymbolTableCollection *symbolTable, SmallVectorImpl< CallableOpInterface > &sorted)
 Starting from callee, compute a reverse (bottom-up) topological sorting of all functions transitively called from callee.
 
void mlir::enzyme::traversePointsToSets (const enzyme::AliasClassSet &start, const enzyme::PointsToSets &pointsToSets, function_ref< void(DistinctAttr)> visit)
 Visit everything transitively pointed-to by any pointer in start.
 
LogicalResult mlir::enzyme::runActivityAnnotationsForFunction (FunctionOpInterface funcOp, DataFlowSolver &solver)
 
void mlir::enzyme::computeSummaries (FunctionOpInterface funcOp, DataFlowSolver &solver, enzyme::PointsToSets &p2sets, enzyme::ForwardOriginsMap &forwardOriginsMap, enzyme::BackwardOriginsMap &backwardOriginsMap, SmallVectorImpl< enzyme::ForwardOriginsLattice > &returnOperandOrigins, SmallVectorImpl< enzyme::AliasClassLattice > &returnAliasClasses)
 
void mlir::enzyme::serializeSummaries (Operation *op, const enzyme::PointsToSets &p2sets, const enzyme::ForwardOriginsMap &forwardOriginsMap, ArrayRef< enzyme::ForwardOriginsLattice > returnOperandOrigins, ArrayRef< enzyme::AliasClassLattice > returnAliasClasses)
 
void mlir::enzyme::removeSummaries (Operation *op)
 
void mlir::enzyme::runActivityAnnotations (FunctionOpInterface callee, ArrayRef< enzyme::Activity > argActivities={}, const ActivityPrinterConfig &config=ActivityPrinterConfig())