Enzyme main
Loading...
Searching...
No Matches
Ops.cpp File Reference
#include "Ops.h"
#include "Interfaces/AutoDiffTypeInterface.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/Value.h"
#include "mlir/Interfaces/MemorySlotInterfaces.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/IntegerSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/LogicalResult.h"
#include <type_traits>
Include dependency graph for Ops.cpp:

Go to the source code of this file.

Classes

struct  EnzymeOpCreator< AutoDiffOp >
 
struct  EnzymeOpCreator< AutoDiffRegionOp >
 
struct  EnzymeOpCreator< ForwardDiffOp >
 
struct  EnzymeOpCreator< ForwardDiffRegionOp >
 
class  FwdInpOpt< SourceOp >
 Modifies input activites for the FwdDiffOp The activity promotion flow is as follows (depending on variable use): More...
 
class  FwdRetOpt< SourceOp >
 Modifies return activites for the FwdDiffOp The activity promotion flow is as follows (depending on variable use): More...
 
class  ReverseRetOpt< SourceOp >
 Modifies activities for the AutoDiffOp. More...
 
class  RemoveUnusedArgs< SourceRegionOp >
 

Macros

#define DEBUG_TYPE   "enzyme"
 

Functions

static int64_t binomialProgress (int64_t n, int64_t s)
 
static bool isMutable (Type type)
 
static bool isRemovableAccumulation (arith::AtomicRMWKind kind, Value value, arith::FastMathFlags fastmath)
 
static bool readIsUnordered (enzyme::Ordering ordering)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "enzyme"

Definition at line 30 of file Ops.cpp.

Function Documentation

◆ binomialProgress()

static int64_t binomialProgress ( int64_t n,
int64_t s )
static

Definition at line 96 of file Ops.cpp.

◆ isMutable()

static bool isMutable ( Type type)
inlinestatic

◆ isRemovableAccumulation()

static bool isRemovableAccumulation ( arith::AtomicRMWKind kind,
Value value,
arith::FastMathFlags fastmath )
static

Definition at line 1139 of file Ops.cpp.

◆ readIsUnordered()

static bool readIsUnordered ( enzyme::Ordering ordering)
static

Definition at line 1155 of file Ops.cpp.