Tracks the last run of a set of module/function passes.

Synopsis

Declared in <llvm/Analysis/LastRunTrackingAnalysis.h>

class LastRunTrackingInfo;

Description

Invalidation are conservatively handled by the pass manager if a pass doesn't explicitly preserve the result. If we want to skip a pass, we should define a unique ID PassID to identify the pass, which is usually a pointer to a static member. If a pass has parameters, they should be stored in a struct OptionT with a method bool isCompatibleWith(const OptionT& LastOpt) const to check compatibility.

Type Aliases

Name

Description

CompatibilityCheckFn

Closure that stores the parameters of the last run and checks compatibility.

OptionPtr

Opaque pointer to the parameters of a tracked pass.

PassID

Unique ID for a tracked pass, typically a pointer to a static member.

Member Functions

Name

Description

shouldSkip

shouldSkip overloads

update

update overloads

Created with MrDocs