class InternalizePass

Declaration

class InternalizePass : public PassInfoMixin { /* full declaration omitted */ };

Description

A pass that internalizes all functions and variables other than those that must be preserved according to \c MustPreserveGV.

Declared at: llvm/include/llvm/Transforms/IPO/Internalize.h:36

Inherits from: PassInfoMixin

Method Overview

  • public InternalizePass()
  • public InternalizePass(std::function<bool (const GlobalValue &)> MustPreserveGV)
  • public bool internalizeModule(llvm::Module & TheModule, llvm::CallGraph * CG = nullptr)
  • public llvm::PreservedAnalyses run(llvm::Module & M, llvm::ModuleAnalysisManager & AM)

Methods

InternalizePass()

Declared at: llvm/include/llvm/Transforms/IPO/Internalize.h:54

InternalizePass(
    std::function<bool(const GlobalValue&)>
        MustPreserveGV)

Declared at: llvm/include/llvm/Transforms/IPO/Internalize.h:55

Parameters

std::function<bool(const GlobalValue&)> MustPreserveGV

bool internalizeModule(
    llvm::Module& TheModule,
    llvm::CallGraph* CG = nullptr)

Description

Run the internalizer on \p TheModule, returns true if any changes was made. If the CallGraph \p CG is supplied, it will be updated when internalizing a function (by removing any edge from the "external node")

Declared at: llvm/include/llvm/Transforms/IPO/Internalize.h:63

Parameters

llvm::Module& TheModule
llvm::CallGraph* CG = nullptr

llvm::PreservedAnalyses run(
    llvm::Module& M,
    llvm::ModuleAnalysisManager& AM)

Declared at: llvm/include/llvm/Transforms/IPO/Internalize.h:65

Parameters

llvm::Module& M
llvm::ModuleAnalysisManager& AM