Enzyme main
Loading...
Searching...
No Matches
mlir::enzyme::detail Namespace Reference

Classes

class  AutoDiffUsingAllocationFwd
 
class  AutoDiffUsingAllocationRev
 
class  AutoDiffUsingBranch
 
class  AutoDiffUsingControlFlow
 
class  AutoDiffUsingMemoryIdentity
 
class  AutoDiffUsingRegionTerminator
 
class  NoopRevAutoDiffInterface
 
class  ReturnRevAutoDiffInterface
 

Functions

template<typename SourceOp , bool filterGrad, bool includeShadows = true, bool includeDifferentialReturns = true>
llvm::SmallVector< mlir::Value, 2 > filterGradInputs (SourceOp uop)
 
LogicalResult controlFlowForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils)
 
LogicalResult controlFlowForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils, const llvm::SmallDenseSet< unsigned > &operandPositionsToShadow, const llvm::SmallDenseSet< unsigned > &resultPositionsToShadow)
 
void branchingForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils)
 
void regionTerminatorForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils)
 
void returnReverseHandler (Operation *op, OpBuilder &builder, MGradientUtilsReverse *gutils)
 
LogicalResult memoryIdentityForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils, ArrayRef< int > storedVals)
 
LogicalResult allocationForwardHandler (Operation *op, OpBuilder &builder, MGradientUtils *gutils, bool zero)
 

Function Documentation

◆ allocationForwardHandler()

◆ branchingForwardHandler()

◆ controlFlowForwardHandler() [1/2]

LogicalResult mlir::enzyme::detail::controlFlowForwardHandler ( Operation * op,
OpBuilder & builder,
MGradientUtils * gutils )

◆ controlFlowForwardHandler() [2/2]

LogicalResult mlir::enzyme::detail::controlFlowForwardHandler ( Operation * op,
OpBuilder & builder,
MGradientUtils * gutils,
const llvm::SmallDenseSet< unsigned > & operandPositionsToShadow,
const llvm::SmallDenseSet< unsigned > & resultPositionsToShadow )

◆ filterGradInputs()

template<typename SourceOp , bool filterGrad, bool includeShadows = true, bool includeDifferentialReturns = true>
llvm::SmallVector< mlir::Value, 2 > mlir::enzyme::detail::filterGradInputs ( SourceOp uop)

Definition at line 49 of file Ops.h.

◆ memoryIdentityForwardHandler()

◆ regionTerminatorForwardHandler()

◆ returnReverseHandler()