Enzyme main
Loading...
Searching...
No Matches
DifferentialUseAnalysis.cpp File Reference
#include <deque>
#include <map>
#include <set>
#include "DifferentialUseAnalysis.h"
#include "Utils.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/IntrinsicsX86.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "DiffeGradientUtils.h"
#include "GradientUtils.h"
#include "LibraryFuncs.h"
#include "BlasDiffUse.inc"
Include dependency graph for DifferentialUseAnalysis.cpp:

Go to the source code of this file.

Namespaces

namespace  DifferentialUseAnalysis
 

Functions

bool DifferentialUseAnalysis::checkLoopyReductionPHI (const GradientUtils *gutils, const llvm::PHINode *P0, const llvm::Value *incomingVal)
 
void DifferentialUseAnalysis::pushLoopyPHIPreheader (const GradientUtils *gutils, llvm::Value *V, llvm::SetVector< llvm::Value * > &Intermediates, std::deque< llvm::Value * > &todo)
 

Variables

StringMap< std::function< bool(const CallInst *, const GradientUtils *, const Value *, bool, DerivativeMode, bool &)> > customDiffUseHandlers
 

Variable Documentation

◆ customDiffUseHandlers

StringMap<std::function<bool(const CallInst *, const GradientUtils *, const Value *, bool, DerivativeMode, bool &)> > customDiffUseHandlers

Definition at line 54 of file DifferentialUseAnalysis.cpp.

Referenced by EnzymeRegisterDiffUseCallHandler().