llvm::CalledValuePropagationPass

Pass that attaches !callees metadata to indirect call sites.

Synopsis

Declared in <llvm/Transforms/IPO/CalledValuePropagation.h>

class CalledValuePropagationPass
    : public OptionalPassInfoMixin<CalledValuePropagationPass>

Description

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.

Base Classes

NameDescription
OptionalPassInfoMixin<CalledValuePropagationPass>A CRTP mix-in for passes that can be skipped.

Member Functions

NameDescription
run Run called-value propagation over the given module.

Static Member Functions

NameDescription
isRequired Return false; optional passes may be skipped.