#include "Helpers.h"
#include "KernelArgPtrUseVisitor.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/IR/CFG.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/DataLayout.h>
#include <llvm/IR/DebugInfo.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 <memory>
#include <optional>
Go to the source code of this file.
|
| std::optional< ReturnInst * > | proteus::getRetInst (Function &F) |
| |
| int64_t | proteus::getValueIndicesOffset (const DataLayout &DL, Type *AggTy, ArrayRef< unsigned > Indices) |
| |
| bool | proteus::isSamePointerAddress (const DataLayout &DL, Value *LHS, Value *RHS) |
| |
| void | proteus::collectReachingPointerStores (const DataLayout &DL, BasicBlock *BB, Instruction *Before, Value *Address, SmallPtrSetImpl< BasicBlock * > &Visited, ReachingPointerStores &Result) |
| |
| ReachingPointerStores | proteus::getReachingPointerStores (const DataLayout &DL, LoadInst &LI) |
| |
| Value * | proteus::getPointerLoadOrigin (const DataLayout &DL, Value *V, SmallPtrSetImpl< Value * > &Visited) |
| |
| Value * | proteus::getUniqueReachingPointer (const DataLayout &DL, const ReachingPointerStores &Stores, SmallPtrSetImpl< Value * > &Visited) |
| |
| bool | proteus::hasAmbiguousReachingPointers (const DataLayout &DL, const ReachingPointerStores &Stores) |
| |
| bool | proteus::isPointerSpillLoad (const LoadInst &LI) |
| |
| bool | proteus::analyzeLambdaUses (llvm::Module &M, DenseMap< CallBase *, LambdaKernelArgAnalysis > &CallBaseToArgOffset, const SmallVector< CallBase * > &CBToAnalyze) |
| |