Given a call to the intrinsic @llvm.type.test, find all devirtualizable call sites based on the call and return them in DevirtCalls.
Declared in <llvm/Analysis/TypeMetadataUtils.h>
void
findDevirtualizableCallsForTypeTest(
SmallVectorImpl<DevirtCallSite>& DevirtCalls,
SmallVectorImpl<CallInst*>& Assumes,
CallInst const* CI,
DominatorTree& DT);
| Name | Description |
|---|---|
| DevirtCalls | Output list of discovered devirtualizable call sites. |
| Assumes | Output list of llvm.assume calls that use the type test. |
| CI | The @llvm.type.test (or @llvm.public.type.test) intrinsic call. |
| DT | Dominator tree used to filter dominating call sites. |