Enzyme main
Loading...
Searching...
No Matches
CoreDialectsAutoDiffImplementations.cpp File Reference
#include "Implementations/CoreDialectsAutoDiffImplementations.h"
#include "Interfaces/AutoDiffOpInterface.h"
#include "Interfaces/AutoDiffTypeInterface.h"
#include "Interfaces/GradientUtils.h"
#include "Interfaces/GradientUtilsReverse.h"
#include "Interfaces/Utils.h"
#include "Passes/Utils.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Complex/IR/Complex.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/IR/Matchers.h"
#include "llvm/Support/CommandLine.h"
Include dependency graph for CoreDialectsAutoDiffImplementations.cpp:

Go to the source code of this file.

Functions

static llvm::cl::opt< bool > EnzymeMLIRFastMath ("enzyme-mlir-fast-math", llvm::cl::init(true), llvm::cl::Hidden, llvm::cl::desc("Build derivative expressions with fast-math enabled"))
 
static bool contains (ArrayRef< int > ar, int v)
 
static FunctionOpInterface getDirectCallee (Operation *op)
 
static bool memoryEffectsNone (LLVM::MemoryEffectsAttr me)
 
static bool splitReverseMemoryOkImpl (Operation *orig, FunctionOpInterface fn, SmallPtrSetImpl< Operation * > &visited)
 
static bool splitReverseMemoryOk (Operation *orig, FunctionOpInterface fn)
 
static LogicalResult checkSplitReverseMemory (Operation *orig, FunctionOpInterface fn)
 

Function Documentation

◆ checkSplitReverseMemory()

static LogicalResult checkSplitReverseMemory ( Operation * orig,
FunctionOpInterface fn )
static

◆ contains()

static bool contains ( ArrayRef< int > ar,
int v )
static

◆ EnzymeMLIRFastMath()

static llvm::cl::opt< bool > EnzymeMLIRFastMath ( "enzyme-mlir-fast-math" ,
llvm::cl::init(true) ,
llvm::cl::Hidden ,
llvm::cl::desc("Build derivative expressions with fast-math enabled")  )
static

◆ getDirectCallee()

◆ memoryEffectsNone()

static bool memoryEffectsNone ( LLVM::MemoryEffectsAttr me)
static

Definition at line 653 of file CoreDialectsAutoDiffImplementations.cpp.

Referenced by splitReverseMemoryOkImpl().

◆ splitReverseMemoryOk()

static bool splitReverseMemoryOk ( Operation * orig,
FunctionOpInterface fn )
static

◆ splitReverseMemoryOkImpl()

static bool splitReverseMemoryOkImpl ( Operation * orig,
FunctionOpInterface fn,
SmallPtrSetImpl< Operation * > & visited )
static