Pass that attaches !callees metadata to indirect call sites.
Declared in <llvm/Transforms/IPO/CalledValuePropagation.h>
class CalledValuePropagationPass
: public OptionalPassInfoMixin<CalledValuePropagationPass>
For a given call site, the metadata, if present, indicates the set of functions the call site could possibly target at run-time. This metadata is added to indirect call sites when the set of possible targets can be determined by analysis and is known to be small. The analysis driving the transformation is similar to constant propagation and makes use of the generic sparse propagation solver.
| Name | Description |
|---|---|
OptionalPassInfoMixin<CalledValuePropagationPass> | A CRTP mix-in for passes that can be skipped. |
| Name | Description |
|---|---|
run | Run called-value propagation over the given module. |
| Name | Description |
|---|---|
isRequired | Return false; optional passes may be skipped. |