LLVM  10.0.0svn
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
Collaboration diagram for llvm::AlwaysInlinerPass:
Collaboration graph

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 29 of file AlwaysInliner.h.

Constructor & Destructor Documentation

◆ AlwaysInlinerPass()

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

Definition at line 33 of file AlwaysInliner.h.

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

Member Function Documentation

◆ run()

PreservedAnalyses AlwaysInlinerPass::run ( Module M,
ModuleAnalysisManager MAM 

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