15 #ifndef LLVM_ANALYSIS_TYPEMETADATAUTILS_H 16 #define LLVM_ANALYSIS_TYPEMETADATAUTILS_H This class represents lattice values for constants.
void findDevirtualizableCallsForTypeTest(SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< CallInst *> &Assumes, const CallInst *CI, DominatorTree &DT)
Given a call to the intrinsic @llvm.type.test, find all devirtualizable call sites based on the call ...
CallSite CS
The call site itself.
This class represents a function call, abstracting a target machine's calling convention.
CfiFunctionLinkage
The type of CFI jumptable needed for a function.
uint64_t Offset
The offset from the address point to the virtual function.
void findDevirtualizableCallsForTypeCheckedLoad(SmallVectorImpl< DevirtCallSite > &DevirtCalls, SmallVectorImpl< Instruction *> &LoadedPtrs, SmallVectorImpl< Instruction *> &Preds, bool &HasNonCallUses, const CallInst *CI, DominatorTree &DT)
Given a call to the intrinsic @llvm.type.checked.load, find all devirtualizable call sites based on t...
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree...
A call site that could be devirtualized.