|
Enzyme main
|
Full interprocedural TypeAnalysis. More...
#include "TypeAnalysis/TypeAnalysis.h"

Public Member Functions | |
| TypeAnalysis (EnzymeLogic &Logic) | |
| TypeResults | analyzeFunction (const FnTypeInfo &fn) |
| Analyze a particular function, returning the results. | |
| void | clear () |
| Clear existing analyses. | |
Public Attributes | |
| EnzymeLogic & | Logic |
| llvm::StringMap< std::function< bool(int, TypeTree &, llvm::ArrayRef< TypeTree >, llvm::ArrayRef< std::set< int64_t > >, llvm::CallBase *, TypeAnalyzer *)> > | CustomRules |
| Map of custom function call handlers. | |
| std::map< FnTypeInfo, std::shared_ptr< TypeAnalyzer > > | analyzedFunctions |
| Map of possible query states to TypeAnalyzer intermediate results. | |
Full interprocedural TypeAnalysis.
Definition at line 414 of file TypeAnalysis.h.
|
inline |
Definition at line 417 of file TypeAnalysis.h.
| TypeResults TypeAnalysis::analyzeFunction | ( | const FnTypeInfo & | fn | ) |
Analyze a particular function, returning the results.
Definition at line 6011 of file TypeAnalysis.cpp.
References analyzedFunctions, FnTypeInfo::Arguments, EnzymePrintType, FnTypeInfo::Function, FnTypeInfo::KnownValues, FnTypeInfo::Return, RustTypeRules(), TypeTree::str(), and to_string().
Referenced by DiffeGradientUtils::CreateFromClone(), TypeAnalyzer::visitCallBase(), and TypeAnalyzer::visitIPOCall().
| void TypeAnalysis::clear | ( | ) |
Clear existing analyses.
Definition at line 6504 of file TypeAnalysis.cpp.
References analyzedFunctions.
Referenced by ClearTypeAnalysis().
| std::map<FnTypeInfo, std::shared_ptr<TypeAnalyzer> > TypeAnalysis::analyzedFunctions |
Map of possible query states to TypeAnalyzer intermediate results.
Definition at line 427 of file TypeAnalysis.h.
Referenced by analyzeFunction(), and clear().
| llvm::StringMap< std::function<bool(int , TypeTree & , llvm::ArrayRef<TypeTree> , llvm::ArrayRef<std::set<int64_t>> , llvm::CallBase * , TypeAnalyzer *)> > TypeAnalysis::CustomRules |
Map of custom function call handlers.
Definition at line 424 of file TypeAnalysis.h.
Referenced by CreateTypeAnalysis(), TypeAnalyzer::run(), and TypeAnalyzer::visitCallBase().
| EnzymeLogic& TypeAnalysis::Logic |
Definition at line 416 of file TypeAnalysis.h.
Referenced by EnzymeTypeAnalysisGetLogic().