LLVM  8.0.1
Public Member Functions | List of all members
llvm::AlwaysInlinerPass Class Reference

Inlines functions marked as "always_inline". More...

#include "llvm/Transforms/IPO/AlwaysInliner.h"

Inheritance diagram for llvm::AlwaysInlinerPass:
Inheritance graph
[legend]
Collaboration diagram for llvm::AlwaysInlinerPass:
Collaboration graph
[legend]

Public Member Functions

 AlwaysInlinerPass (bool InsertLifetime=true)
 
PreservedAnalyses run (Module &M, ModuleAnalysisManager &)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< AlwaysInlinerPass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

Inlines functions marked as "always_inline".

Note that this does not inline call sites marked as always_inline and does not delete the functions even when all users are inlined. The normal inliner should be used to handle call site inlining, this pass's goal is to be the simplest possible pass to remove always_inline function definitions' uses by inlining them. The GlobalDCE pass can be used to remove these functions once all users are gone.

Definition at line 30 of file AlwaysInliner.h.

Constructor & Destructor Documentation

◆ AlwaysInlinerPass()

llvm::AlwaysInlinerPass::AlwaysInlinerPass ( bool  InsertLifetime = true)
inline

Definition at line 34 of file AlwaysInliner.h.

References llvm::createAlwaysInlinerLegacyPass(), and run().

Member Function Documentation

◆ run()

PreservedAnalyses AlwaysInlinerPass::run ( Module M,
ModuleAnalysisManager  
)

The documentation for this class was generated from the following files: