LLVM 19.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

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.

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

Constructor & Destructor Documentation

◆ AlwaysInlinerPass()

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

Definition at line 36 of file AlwaysInliner.h.

Member Function Documentation

◆ isRequired()

static bool llvm::AlwaysInlinerPass::isRequired ( )

Definition at line 40 of file AlwaysInliner.h.

◆ run()

PreservedAnalyses AlwaysInlinerPass::run ( Module M,
ModuleAnalysisManager MAM 

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