Go to the documentation of this file.
12 #ifndef LLVM_TRANSFORMS_UTILS_MEMORYTAGGINGSUPPORT_H
13 #define LLVM_TRANSFORMS_UTILS_MEMORYTAGGINGSUPPORT_H
23 class DbgVariableIntrinsic;
25 class PostDominatorTree;
66 : IsInterestingAlloca(IsInterestingAlloca) {}
This is an optimization pass for GlobalISel generic memory operations.
SmallVector< DbgVariableIntrinsic *, 2 > DbgVariableIntrinsics
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree.
bool forAllReachableExits(const DominatorTree &DT, const PostDominatorTree &PDT, const LoopInfo &LI, const Instruction *Start, const SmallVectorImpl< IntrinsicInst * > &Ends, const SmallVectorImpl< Instruction * > &RetVec, llvm::function_ref< void(Instruction *)> Callback)
This class implements a map that also provides access to all stored values in a deterministic order.
SmallVector< Instruction *, 8 > RetVec
Analysis containing CSE Info
This struct is a compact representation of a valid (non-zero power of two) alignment.
An efficient, type-erasing, non-owning reference to a callable.
SmallVector< Instruction *, 4 > UnrecognizedLifetimes
print Print MemDeps of function
PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the post-dominat...
void visit(Instruction &Inst)
SmallVector< IntrinsicInst *, 2 > LifetimeEnd
bool isStandardLifetime(const SmallVectorImpl< IntrinsicInst * > &LifetimeStart, const SmallVectorImpl< IntrinsicInst * > &LifetimeEnd, const DominatorTree *DT, const LoopInfo *LI, size_t MaxLifetimes)
StackInfoBuilder(std::function< bool(const AllocaInst &)> IsInterestingAlloca)
void alignAndPadAlloca(memtag::AllocaInfo &Info, llvm::Align Align)
MapVector< AllocaInst *, AllocaInfo > AllocasToInstrument
SmallVector< IntrinsicInst *, 2 > LifetimeStart
uint64_t getAllocaSizeInBytes(const AllocaInst &AI)
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
an instruction to allocate memory on the stack
Instruction * getUntagLocationIfFunctionExit(Instruction &Inst)