#include "Helpers.h"
#include "proteus/CompilerInterfaceTypes.h"
#include "proteus/impl/Logger.h"
#include "proteus/impl/RuntimeConstantTypeHelpers.h"
#include <llvm/Analysis/PtrUseVisitor.h>
#include <llvm/Analysis/ValueTracking.h>
#include <llvm/ADT/DenseMap.h>
#include <llvm/ADT/DenseSet.h>
#include <llvm/ADT/Hashing.h>
#include <llvm/ADT/SmallPtrSet.h>
#include <llvm/ADT/SmallVector.h>
#include <llvm/Analysis/AssumptionCache.h>
#include <llvm/Analysis/BasicAliasAnalysis.h>
#include <llvm/Analysis/MemoryLocation.h>
#include <llvm/Analysis/MemorySSA.h>
#include <llvm/Analysis/TargetLibraryInfo.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/DataLayout.h>
#include <llvm/IR/DebugInfo.h>
#include <llvm/IR/Dominators.h>
#include <llvm/IR/Function.h>
#include <llvm/IR/InstrTypes.h>
#include <llvm/IR/Instruction.h>
#include <llvm/IR/Instructions.h>
#include <llvm/IR/Metadata.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/PassManager.h>
#include <llvm/IR/Type.h>
#include <llvm/IR/Value.h>
#include <llvm/TargetParser/Triple.h>
#include <memory>
#include <optional>
Go to the source code of this file.
|
| bool | proteus::needsDefUseAnalysis (Value *Val) |
| |
| bool | proteus::offsetCoveredByRange (int64_t TargetOffset, int64_t RangeOffset, uint64_t RangeSize) |
| |
| std::optional< uint64_t > | proteus::getTypeStoreSize (const DataLayout &DL, Type *Ty) |
| |
| std::optional< MemoryLocation > | proteus::getTrackedPointerLocation (const DataLayout &DL, Value *Ptr) |
| |
| std::optional< LambdaPtrUseAnalysis > | proteus::getPreviousCoveringStore (const DataLayout &DL, Value *Ptr, Value *UseBoundary, int64_t TargetOffset) |
| |
| std::optional< LambdaPtrUseAnalysis > | proteus::getDominatingUse (const DataLayout &DL, Value *ValueNeedingAnalysis, Value *SeenUse, int64_t TargetOffset, CallBase *LambdaCB=nullptr) |
| |