Enzyme main
Loading...
Searching...
No Matches
DataFlowActivityAnalysis.h File Reference
#include "mlir/Analysis/DataFlow/DenseAnalysis.h"
#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
#include "mlir/Analysis/DataFlowFramework.h"
#include "mlir/IR/Block.h"
#include "mlir/Interfaces/FunctionInterfaces.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Support/LLVM.h"
#include "DataFlowAliasAnalysis.h"
#include "Dialect/Ops.h"
#include "Interfaces/AutoDiffOpInterface.h"
Include dependency graph for DataFlowActivityAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::enzyme::ValueActivity
 
class  mlir::enzyme::ForwardValueActivity
 
class  mlir::enzyme::BackwardValueActivity
 
class  mlir::enzyme::SparseForwardActivityAnalysis
 Sparse activity analysis reasons about activity by traversing forward down the def-use chains starting from active function arguments. More...
 
class  mlir::enzyme::SparseBackwardActivityAnalysis
 
struct  mlir::enzyme::MemoryActivityState
 This needs to keep track of three things: More...
 
class  mlir::enzyme::MemoryActivity
 
class  mlir::enzyme::ForwardMemoryActivity
 
class  mlir::enzyme::BackwardMemoryActivity
 
class  mlir::enzyme::DenseForwardActivityAnalysis
 
class  mlir::enzyme::DenseBackwardActivityAnalysis
 

Namespaces

namespace  mlir
 
namespace  mlir::enzyme
 

Enumerations

enum class  mlir::enzyme::ActivityKind { mlir::enzyme::Constant , mlir::enzyme::ActiveVal , mlir::enzyme::Unknown }
 From LLVM Enzyme's activity analysis, there are four activity states. More...
 

Functions

void mlir::enzyme::runDataFlowActivityAnalysis (FunctionOpInterface callee, ArrayRef< enzyme::Activity > argumentActivity, ArrayRef< enzyme::Activity > returnActivity, bool print=false, bool verbose=false, bool annotate=false)