Given a call to the intrinsic @llvm.type.checked.load, find all devirtualizable call sites based on the call and return them in DevirtCalls.
Declared in <llvm/Analysis/TypeMetadataUtils.h>
void
findDevirtualizableCallsForTypeCheckedLoad(
SmallVectorImpl<DevirtCallSite>& DevirtCalls,
SmallVectorImpl<Instruction*>& LoadedPtrs,
SmallVectorImpl<Instruction*>& Preds,
bool& HasNonCallUses,
CallInst const* CI,
DominatorTree& DT);
| Name | Description |
|---|---|
| DevirtCalls | This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. |
| LoadedPtrs | This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. |
| Preds | This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. |
| CI | This class represents a function call, abstracting a target machine's calling convention. This class uses low bit of the SubClassData field to indicate whether or not this is a tail call. The rest of the bits hold the calling convention of the call. |
| DT | Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. |