A pass manager that runs extra function passes when a marker analysis is present.

Synopsis

Declared in <llvm/Transforms/Utils/ExtraPassManager.h>

template<typename MarkerTy>
class ExtraFunctionPassManager
    : public RequiredPassInfoMixin<ExtraFunctionPassManager<MarkerTy>>

Description

A pass manager to run a set of extra function passes if the ShouldRunExtraPasses marker analysis is present. This allows passes to request additional transformations on demand. An example is extra simplifications after loop‐vectorization, if runtime checks have been added.

Base Classes

Name

Description

RequiredPassInfoMixin<ExtraFunctionPassManager<MarkerTy>>

A CRTP mix‐in for passes that should not be skipped.

Member Functions

Name

Description

addPass

Add a pass to the set of extra function passes.

printPipeline

Print this pass as a single name in a textual pipeline.

run

Run the extra function passes if the marker analysis is cached for F.

Static Member Functions

Name

Description

isRequired

Return true; required passes cannot be skipped.

Created with MrDocs