Enzyme main
Loading...
Searching...
No Matches
CacheAnalysis Struct Reference
Collaboration diagram for CacheAnalysis:

Public Member Functions

 CacheAnalysis (const ValueMap< const CallInst *, SmallPtrSet< const CallInst *, 1 > > &allocationsWithGuaranteedFree, const ValueMap< Value *, GradientUtils::Rematerializer > &rematerializableAllocations, TypeResults &TR, AAResults &AA, Function *oldFunc, ScalarEvolution &SE, LoopInfo &OrigLI, DominatorTree &OrigDT, TargetLibraryInfo &TLI, const SmallPtrSetImpl< BasicBlock * > &unnecessaryBlocks, bool subsequent_calls_may_write, const std::vector< bool > &overwritten_args, DerivativeMode mode, bool omp)
 
bool is_value_mustcache_from_origin (Value *obj)
 
bool is_load_uncacheable (Instruction &li)
 
std::map< Instruction *, bool > compute_uncacheable_load_map ()
 
std::pair< bool, std::vector< bool > > compute_overwritten_args_for_one_callsite (CallInst *callsite_op)
 
std::map< CallInst *, std::pair< bool, const std::vector< bool > > > compute_overwritten_args_for_callsites ()
 

Public Attributes

const ValueMap< const CallInst *, SmallPtrSet< const CallInst *, 1 > > & allocationsWithGuaranteedFree
 
const ValueMap< Value *, GradientUtils::Rematerializer > & rematerializableAllocations
 
TypeResultsTR
 
AAResults & AA
 
Function * oldFunc
 
ScalarEvolution & SE
 
LoopInfo & OrigLI
 
DominatorTree & OrigDT
 
TargetLibraryInfo & TLI
 
const SmallPtrSetImpl< BasicBlock * > & unnecessaryBlocks
 
const bool subsequent_calls_may_write
 
const std::vector< bool > & overwritten_args
 
DerivativeMode mode
 
std::map< Value *, bool > seen
 
bool omp
 

Detailed Description

Definition at line 128 of file EnzymeLogic.cpp.

Constructor & Destructor Documentation

◆ CacheAnalysis()

CacheAnalysis::CacheAnalysis ( const ValueMap< const CallInst *, SmallPtrSet< const CallInst *, 1 > > & allocationsWithGuaranteedFree,
const ValueMap< Value *, GradientUtils::Rematerializer > & rematerializableAllocations,
TypeResults & TR,
AAResults & AA,
Function * oldFunc,
ScalarEvolution & SE,
LoopInfo & OrigLI,
DominatorTree & OrigDT,
TargetLibraryInfo & TLI,
const SmallPtrSetImpl< BasicBlock * > & unnecessaryBlocks,
bool subsequent_calls_may_write,
const std::vector< bool > & overwritten_args,
DerivativeMode mode,
bool omp )
inline

Definition at line 147 of file EnzymeLogic.cpp.

Member Function Documentation

◆ compute_overwritten_args_for_callsites()

std::map< CallInst *, std::pair< bool, const std::vector< bool > > > CacheAnalysis::compute_overwritten_args_for_callsites ( )
inline

Definition at line 653 of file EnzymeLogic.cpp.

◆ compute_overwritten_args_for_one_callsite()

std::pair< bool, std::vector< bool > > CacheAnalysis::compute_overwritten_args_for_one_callsite ( CallInst * callsite_op)
inline

Definition at line 455 of file EnzymeLogic.cpp.

◆ compute_uncacheable_load_map()

std::map< Instruction *, bool > CacheAnalysis::compute_uncacheable_load_map ( )
inline

Definition at line 429 of file EnzymeLogic.cpp.

◆ is_load_uncacheable()

bool CacheAnalysis::is_load_uncacheable ( Instruction & li)
inline

Definition at line 266 of file EnzymeLogic.cpp.

◆ is_value_mustcache_from_origin()

bool CacheAnalysis::is_value_mustcache_from_origin ( Value * obj)
inline

Definition at line 164 of file EnzymeLogic.cpp.

Member Data Documentation

◆ AA

AAResults& CacheAnalysis::AA

Definition at line 135 of file EnzymeLogic.cpp.

◆ allocationsWithGuaranteedFree

const ValueMap<const CallInst *, SmallPtrSet<const CallInst *, 1> >& CacheAnalysis::allocationsWithGuaranteedFree

Definition at line 131 of file EnzymeLogic.cpp.

◆ mode

DerivativeMode CacheAnalysis::mode

Definition at line 144 of file EnzymeLogic.cpp.

◆ oldFunc

Function* CacheAnalysis::oldFunc

Definition at line 136 of file EnzymeLogic.cpp.

◆ omp

bool CacheAnalysis::omp

Definition at line 146 of file EnzymeLogic.cpp.

◆ OrigDT

DominatorTree& CacheAnalysis::OrigDT

Definition at line 139 of file EnzymeLogic.cpp.

◆ OrigLI

LoopInfo& CacheAnalysis::OrigLI

Definition at line 138 of file EnzymeLogic.cpp.

◆ overwritten_args

const std::vector<bool>& CacheAnalysis::overwritten_args

Definition at line 143 of file EnzymeLogic.cpp.

◆ rematerializableAllocations

const ValueMap<Value *, GradientUtils::Rematerializer>& CacheAnalysis::rematerializableAllocations

Definition at line 133 of file EnzymeLogic.cpp.

◆ SE

ScalarEvolution& CacheAnalysis::SE

Definition at line 137 of file EnzymeLogic.cpp.

◆ seen

std::map<Value *, bool> CacheAnalysis::seen

Definition at line 145 of file EnzymeLogic.cpp.

◆ subsequent_calls_may_write

const bool CacheAnalysis::subsequent_calls_may_write

Definition at line 142 of file EnzymeLogic.cpp.

◆ TLI

TargetLibraryInfo& CacheAnalysis::TLI

Definition at line 140 of file EnzymeLogic.cpp.

◆ TR

TypeResults& CacheAnalysis::TR

Definition at line 134 of file EnzymeLogic.cpp.

◆ unnecessaryBlocks

const SmallPtrSetImpl<BasicBlock *>& CacheAnalysis::unnecessaryBlocks

Definition at line 141 of file EnzymeLogic.cpp.


The documentation for this struct was generated from the following file: