LLVM 17.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::FunctionSpecializer Class Reference

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

Public Member Functions

 FunctionSpecializer (SCCPSolver &Solver, Module &M, FunctionAnalysisManager *FAM, std::function< BlockFrequencyInfo &(Function &)> GetBFI, std::function< const TargetLibraryInfo &(Function &)> GetTLI, std::function< TargetTransformInfo &(Function &)> GetTTI, std::function< AssumptionCache &(Function &)> GetAC)
 
 ~FunctionSpecializer ()
 
bool isClonedFunction (Function *F)
 
bool run ()
 Attempt to specialize functions in the module to enable constant propagation across function boundaries.
 
InstCostVisitor getInstCostVisitorFor (Function *F)
 
Cost getSpecializationBonus (Argument *A, Constant *C, InstCostVisitor &Visitor)
 Compute a bonus for replacing argument A with constant C.
 

Static Public Member Functions

static unsigned getBlockFreqMultiplier ()
 

Detailed Description

Definition at line 155 of file FunctionSpecialization.h.

Constructor & Destructor Documentation

◆ FunctionSpecializer()

llvm::FunctionSpecializer::FunctionSpecializer ( SCCPSolver Solver,
Module M,
FunctionAnalysisManager FAM,
std::function< BlockFrequencyInfo &(Function &)>  GetBFI,
std::function< const TargetLibraryInfo &(Function &)>  GetTLI,
std::function< TargetTransformInfo &(Function &)>  GetTTI,
std::function< AssumptionCache &(Function &)>  GetAC 
)
inline

Definition at line 176 of file FunctionSpecialization.h.

References FAM.

◆ ~FunctionSpecializer()

FunctionSpecializer::~FunctionSpecializer ( )

Definition at line 474 of file FunctionSpecialization.cpp.

References llvm::dbgs(), and LLVM_DEBUG.

Member Function Documentation

◆ getBlockFreqMultiplier()

unsigned FunctionSpecializer::getBlockFreqMultiplier ( )
static

Definition at line 112 of file FunctionSpecialization.cpp.

References BlockFreqMultiplier.

◆ getInstCostVisitorFor()

InstCostVisitor llvm::FunctionSpecializer::getInstCostVisitorFor ( Function F)
inline

Definition at line 193 of file FunctionSpecialization.h.

References F.

◆ getSpecializationBonus()

Cost FunctionSpecializer::getSpecializationBonus ( Argument A,
Constant C,
InstCostVisitor Visitor 
)

◆ isClonedFunction()

bool llvm::FunctionSpecializer::isClonedFunction ( Function F)
inline

Definition at line 187 of file FunctionSpecialization.h.

References F.

Referenced by runIPSCCP().

◆ run()

bool FunctionSpecializer::run ( )

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