|
Enzyme main
|
#include <cstdint>#include <deque>#include <llvm/Config/llvm-config.h>#include "llvm/ADT/SetVector.h"#include "llvm/ADT/StringMap.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "SCEV/ScalarEvolution.h"#include "SCEV/ScalarEvolutionExpander.h"#include "llvm/IR/Constants.h"#include "llvm/IR/InstVisitor.h"#include "llvm/IR/ModuleSlotTracker.h"#include "llvm/IR/Type.h"#include "llvm/IR/Value.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/PostDominators.h"#include "llvm/IR/Dominators.h"#include "../Utils.h"#include "TypeTree.h"

Go to the source code of this file.
Classes | |
| struct | FnTypeInfo |
| Struct containing all contextual type information for a particular function call. More... | |
| class | TypeResults |
| A holder class representing the results of running TypeAnalysis on a given function. More... | |
| class | TypeAnalyzer |
| Helper class that computes the fixed-point type results of a given function. More... | |
| class | TypeAnalysis |
| Full interprocedural TypeAnalysis. More... | |
Functions | |
| static bool | isMemFreeLibMFunction (llvm::StringRef str, llvm::Intrinsic::ID *ID=nullptr) |
| static bool | operator< (const FnTypeInfo &lhs, const FnTypeInfo &rhs) |
| TypeTree | defaultTypeTreeForLLVM (llvm::Type *ET, llvm::Instruction *I, bool intIsPointer=true) |
| FnTypeInfo | preventTypeAnalysisLoops (const FnTypeInfo &oldTypeInfo_, llvm::Function *todiff) |
Variables | |
| const llvm::StringMap< llvm::Intrinsic::ID > | LIBM_FUNCTIONS |
| TypeTree defaultTypeTreeForLLVM | ( | llvm::Type * | ET, |
| llvm::Instruction * | I, | ||
| bool | intIsPointer = true ) |
Definition at line 6387 of file TypeAnalysis.cpp.
References defaultTypeTreeForLLVM(), getUnqual(), Integer, TypeTree::Only(), Pointer, and TypeTree::ShiftIndices().
Referenced by defaultTypeTreeForLLVM(), AdjointGenerator::visitCommonStore(), and AdjointGenerator::visitLoadLike().
|
inlinestatic |
Definition at line 61 of file TypeAnalysis.h.
References endsWith(), LIBM_FUNCTIONS, startsWith(), and str().
Referenced by AdjointGenerator::handleKnownCallDerivatives(), PreProcessCache::preprocessForClone(), AdjointGenerator::recursivelyHandleSubfunction(), TypeAnalyzer::visitCallBase(), AdjointGenerator::visitOMPCall(), and writesToMemoryReadBy().
|
inlinestatic |
Definition at line 136 of file TypeAnalysis.h.
References FnTypeInfo::Arguments, FnTypeInfo::Function, FnTypeInfo::KnownValues, and FnTypeInfo::Return.
| FnTypeInfo preventTypeAnalysisLoops | ( | const FnTypeInfo & | oldTypeInfo_, |
| llvm::Function * | todiff ) |
Definition at line 6506 of file TypeAnalysis.cpp.
References FnTypeInfo::KnownValues.
Referenced by TypeAnalyzer::visitIPOCall().
|
extern |
Definition at line 97 of file TypeAnalysis.cpp.
Referenced by isMemFreeLibMFunction().