|
Enzyme main
|
Struct containing all contextual type information for a particular function call. More...
#include "TypeAnalysis/TypeAnalysis.h"

Public Member Functions | |
| FnTypeInfo (llvm::Function *fn) | |
| FnTypeInfo (const FnTypeInfo &)=default | |
| FnTypeInfo & | operator= (FnTypeInfo &)=default |
| FnTypeInfo & | operator= (FnTypeInfo &&)=default |
| std::set< int64_t > | knownIntegralValues (llvm::Value *val, const llvm::DominatorTree &DT, std::map< llvm::Value *, std::set< int64_t > > &intseen, llvm::ScalarEvolution &SE) const |
| The set of known values val will take. | |
Public Attributes | |
| llvm::Function * | Function |
| Function being analyzed. | |
| std::map< llvm::Argument *, TypeTree > | Arguments |
| Types of arguments. | |
| TypeTree | Return |
| Type of return. | |
| std::map< llvm::Argument *, std::set< int64_t > > | KnownValues |
| The specific constant(s) known to represented by an argument, if constant. | |
Struct containing all contextual type information for a particular function call.
Definition at line 111 of file TypeAnalysis.h.
|
inline |
Definition at line 115 of file TypeAnalysis.h.
|
default |
| std::set< int64_t > FnTypeInfo::knownIntegralValues | ( | llvm::Value * | val, |
| const llvm::DominatorTree & | DT, | ||
| std::map< llvm::Value *, std::set< int64_t > > & | intseen, | ||
| llvm::ScalarEvolution & | SE ) const |
The set of known values val will take.
Definition at line 361 of file TypeAnalysis.cpp.
References EnzymeStrictAliasing(), Function, knownIntegralValues(), KnownValues, and MaxIntOffset().
Referenced by TypeAnalyzer::considerTBAA(), TypeAnalyzer::getCallInfo(), knownIntegralValues(), TypeAnalyzer::knownIntegralValues(), TypeAnalyzer::visitBinaryOperation(), TypeAnalyzer::visitCallBase(), TypeAnalyzer::visitGEPOperator(), and TypeAnalyzer::visitMemTransferCommon().
|
default |
|
default |
| std::map<llvm::Argument *, TypeTree> FnTypeInfo::Arguments |
Types of arguments.
Definition at line 121 of file TypeAnalysis.h.
Referenced by TypeAnalysis::analyzeFunction(), DiffeGradientUtils::CreateFromClone(), eunwrap(), TypeResults::getAnalyzedTypeInfo(), TypeAnalyzer::getCallInfo(), operator<(), TypeAnalyzer::prepareArgs(), TypeAnalyzer::visitCallBase(), and AdjointGenerator::visitOMPCall().
| llvm::Function* FnTypeInfo::Function |
Function being analyzed.
Definition at line 113 of file TypeAnalysis.h.
Referenced by TypeResults::allFloat(), TypeAnalysis::analyzeFunction(), analyzeIntelSubscriptIntrinsic(), TypeResults::anyFloat(), TypeResults::anyPointer(), TypeAnalyzer::considerRustDebugInfo(), TypeAnalyzer::considerTBAA(), TypeAnalyzer::dump(), TypeResults::firstPointer(), TypeAnalyzer::getAnalysis(), TypeResults::getAnalyzedTypeInfo(), getConstantAnalysis(), TypeResults::getFunction(), TypeAnalyzer::getReturnAnalysis(), knownIntegralValues(), operator<(), TypeAnalyzer::prepareArgs(), TypeResults::query(), TypeAnalyzer::run(), TypeAnalyzer::runPHIHypotheses(), TypeAnalyzer::TypeAnalyzer(), TypeAnalyzer::TypeAnalyzer(), TypeAnalyzer::visitBinaryOperation(), TypeAnalyzer::visitCallBase(), TypeAnalyzer::visitConstantExpr(), TypeAnalyzer::visitExtractElementInst(), TypeAnalyzer::visitExtractValueInst(), TypeAnalyzer::visitGEPOperator(), TypeAnalyzer::visitInsertElementInst(), TypeAnalyzer::visitInsertValueInst(), TypeAnalyzer::visitIntrinsicInst(), TypeAnalyzer::visitIPOCall(), TypeAnalyzer::visitMemTransferCommon(), TypeAnalyzer::visitPHINode(), TypeAnalyzer::visitShuffleVectorInst(), and TypeAnalyzer::visitTruncInst().
| std::map<llvm::Argument *, std::set<int64_t> > FnTypeInfo::KnownValues |
The specific constant(s) known to represented by an argument, if constant.
Definition at line 127 of file TypeAnalysis.h.
Referenced by TypeAnalysis::analyzeFunction(), DiffeGradientUtils::CreateFromClone(), eunwrap(), TypeResults::getAnalyzedTypeInfo(), TypeAnalyzer::getCallInfo(), knownIntegralValues(), operator<(), preventTypeAnalysisLoops(), TypeAnalyzer::TypeAnalyzer(), TypeAnalyzer::TypeAnalyzer(), TypeAnalyzer::visitCallBase(), TypeAnalyzer::visitIPOCall(), and AdjointGenerator::visitOMPCall().
| TypeTree FnTypeInfo::Return |
Type of return.
Definition at line 124 of file TypeAnalysis.h.
Referenced by TypeAnalysis::analyzeFunction(), DiffeGradientUtils::CreateFromClone(), eunwrap(), TypeResults::getAnalyzedTypeInfo(), TypeAnalyzer::getCallInfo(), operator<(), TypeAnalyzer::prepareArgs(), and AdjointGenerator::visitOMPCall().