LLVM  14.0.0git
Public Member Functions | Static 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 &)
 
- Public Member Functions inherited from llvm::PassInfoMixin< AlwaysInlinerPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Static Public Member Functions

static bool isRequired ()
 
- 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)
inline

Definition at line 33 of file AlwaysInliner.h.

Member Function Documentation

◆ isRequired()

static bool llvm::AlwaysInlinerPass::isRequired ( )
inlinestatic

Definition at line 37 of file AlwaysInliner.h.

◆ run()

PreservedAnalyses AlwaysInlinerPass::run ( Module M,
ModuleAnalysisManager MAM 
)

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