Enzyme main
Loading...
Searching...
No Matches
TraceGenerator Class Referencefinal

#include "TraceGenerator.h"

Inheritance diagram for TraceGenerator:
Collaboration diagram for TraceGenerator:

Public Member Functions

 TraceGenerator (EnzymeLogic &Logic, TraceUtils *tutils, bool autodiff, llvm::ValueMap< const llvm::Value *, llvm::WeakTrackingVH > &originalToNewFn, const llvm::SmallPtrSetImpl< llvm::Function * > &generativeFunctions, const llvm::StringSet<> &activeRandomVariables)
 
void visitFunction (llvm::Function &F)
 
void handleSampleCall (llvm::CallInst &call, llvm::CallInst *new_call)
 
void handleObserveCall (llvm::CallInst &call, llvm::CallInst *new_call)
 
void handleArbitraryCall (llvm::CallInst &call, llvm::CallInst *new_call)
 
void visitCallInst (llvm::CallInst &call)
 
void visitReturnInst (llvm::ReturnInst &ret)
 

Detailed Description

Definition at line 36 of file TraceGenerator.h.

Constructor & Destructor Documentation

◆ TraceGenerator()

TraceGenerator::TraceGenerator ( EnzymeLogic & Logic,
TraceUtils * tutils,
bool autodiff,
llvm::ValueMap< const llvm::Value *, llvm::WeakTrackingVH > & originalToNewFn,
const llvm::SmallPtrSetImpl< llvm::Function * > & generativeFunctions,
const llvm::StringSet<> & activeRandomVariables )

Definition at line 49 of file TraceGenerator.cpp.

Member Function Documentation

◆ handleArbitraryCall()

◆ handleObserveCall()

void TraceGenerator::handleObserveCall ( llvm::CallInst & call,
llvm::CallInst * new_call )

◆ handleSampleCall()

void TraceGenerator::handleSampleCall ( llvm::CallInst & call,
llvm::CallInst * new_call )

◆ visitCallInst()

void TraceGenerator::visitCallInst ( llvm::CallInst & call)

◆ visitFunction()

◆ visitReturnInst()

void TraceGenerator::visitReturnInst ( llvm::ReturnInst & ret)

Definition at line 415 of file TraceGenerator.cpp.

References TraceUtils::InsertReturn().


The documentation for this class was generated from the following files: