llvm::ExtraFunctionPassManager

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

NameDescription
RequiredPassInfoMixin<ExtraFunctionPassManager<MarkerTy>>A CRTP mix-in for passes that should not be skipped.

Member Functions

NameDescription
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

NameDescription
isRequired Return true; required passes cannot be skipped.