llvm::ReversePostOrderFunctionAttrsPass

A pass to do RPO deduction and propagation of function attributes.

Synopsis

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

class ReversePostOrderFunctionAttrsPass
    : public OptionalPassInfoMixin<ReversePostOrderFunctionAttrsPass>

Description

This pass provides a general RPO or "top down" propagation of function attributes. For a few (rare) cases, we can deduce significantly more about function attributes by working in RPO, so this pass provides the complement to the post-order pass above where the majority of deduction is performed.

Base Classes

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

Member Functions

NameDescription
run Run reverse post-order function attribute deduction over the module.

Static Member Functions

NameDescription
isRequired Return false; optional passes may be skipped.