|
LLVM 24.0.0git
|
#include "llvm/Analysis/MLInlineAdvisor.h"#include "llvm/ADT/SCCIterator.h"#include "llvm/Analysis/AssumptionCache.h"#include "llvm/Analysis/BlockFrequencyInfo.h"#include "llvm/Analysis/CallGraph.h"#include "llvm/Analysis/FunctionPropertiesAnalysis.h"#include "llvm/Analysis/InlineCost.h"#include "llvm/Analysis/InlineModelFeatureMaps.h"#include "llvm/Analysis/LazyCallGraph.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/MLModelRunner.h"#include "llvm/Analysis/OptimizationRemarkEmitter.h"#include "llvm/Analysis/ProfileSummaryInfo.h"#include "llvm/Analysis/ReleaseModeModelRunner.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/Analysis/TensorSpec.h"#include "llvm/Analysis/Utils/MLGOUtils.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Module.h"#include "llvm/IR/PassManager.h"#include "llvm/Support/CommandLine.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "inline-ml" |
| #define | POPULATE_NAMES(DTYPE, SHAPE, NAME, __) |
Typedefs | |
| using | CompiledModelType = NoopSavedModelImpl |
Enumerations | |
| enum class | SkipMLPolicyCriteria { Never , IfCallerIsNotCold } |
| enum class | EmitCModelChoice { Default } |
Functions | |
| static std::unique_ptr< MLModelRunner > | createEmitCModelRunner (LLVMContext &, const std::vector< TensorSpec > &) |
| CallBase * | getInlinableCS (Instruction &I) |
Variables | |
| static cl::opt< std::string > | InteractiveChannelBaseName ("inliner-interactive-channel-base", cl::Hidden, cl::desc("Base file path for the interactive mode. The incoming filename should " "have the name <inliner-interactive-channel-base>.in, while the " "outgoing name should be <inliner-interactive-channel-base>.out")) |
| static const std::string | InclDefaultMsg |
| static cl::opt< bool > | InteractiveIncludeDefault ("inliner-interactive-include-default", cl::Hidden, cl::desc(InclDefaultMsg)) |
| static cl::opt< SkipMLPolicyCriteria > | SkipPolicy ("ml-inliner-skip-policy", cl::Hidden, cl::init(SkipMLPolicyCriteria::Never), cl::values(clEnumValN(SkipMLPolicyCriteria::Never, "never", "never"), clEnumValN(SkipMLPolicyCriteria::IfCallerIsNotCold, "if-caller-not-cold", "if the caller is not cold"))) |
| static cl::opt< std::string > | ModelSelector ("ml-inliner-model-selector", cl::Hidden, cl::init("")) |
| static cl::opt< bool > | StopImmediatelyForTest ("ml-inliner-stop-immediately", cl::Hidden) |
| constexpr bool | HaveMLIRLoweringInliner = false |
| static const EmitCModelChoice | SelectedMLGOModel = EmitCModelChoice::Default |
| static cl::opt< float > | SizeIncreaseThreshold ("ml-advisor-size-increase-threshold", cl::Hidden, cl::desc("Maximum factor by which expected native size may increase before " "blocking any further inlining."), cl::init(2.0)) |
| static cl::opt< bool > | KeepFPICache ("ml-advisor-keep-fpi-cache", cl::Hidden, cl::desc("For test - keep the ML Inline advisor's FunctionPropertiesInfo cache"), cl::init(false)) |
| #define DEBUG_TYPE "inline-ml" |
Definition at line 138 of file MLInlineAdvisor.cpp.
| #define POPULATE_NAMES | ( | DTYPE, | |
| SHAPE, | |||
| NAME, | |||
| __ ) |
Referenced by llvm::MLInlineAdvisor::getInitialFeatureMap().
| using CompiledModelType = NoopSavedModelImpl |
Definition at line 72 of file MLInlineAdvisor.cpp.
|
strong |
| Enumerator | |
|---|---|
| Default | |
Definition at line 112 of file MLInlineAdvisor.cpp.
|
strong |
| Enumerator | |
|---|---|
| Never | |
| IfCallerIsNotCold | |
Definition at line 53 of file MLInlineAdvisor.cpp.
|
inlinestatic |
Definition at line 115 of file MLInlineAdvisor.cpp.
Referenced by llvm::getReleaseModeAdvisor().
| CallBase * getInlinableCS | ( | Instruction & | I | ) |
Definition at line 175 of file MLInlineAdvisor.cpp.
References llvm::dyn_cast(), and I.
Referenced by llvm::MLInlineAdvisor::MLInlineAdvisor().
|
constexpr |
Definition at line 111 of file MLInlineAdvisor.cpp.
Referenced by llvm::getReleaseModeAdvisor().
|
static |
Definition at line 45 of file MLInlineAdvisor.cpp.
|
static |
Referenced by llvm::createReleaseModeAdvisorAnalysisLegacy(), llvm::createReleaseModeAdvisorProvider(), llvm::createReleaseModeModelRunner(), llvm::createReleaseModePriorityAdvisorAnalysis(), llvm::MLInlineAdvisor::getAdviceImpl(), llvm::ReleaseModePriorityAdvisorProvider::getAdvisor(), llvm::getReleaseModeAdvisor(), INITIALIZE_PASS(), llvm::isReleaseModelValid(), and llvm::isReleaseModelValid().
|
static |
Referenced by llvm::MLInlineAdvisor::getAdviceImpl(), and llvm::MLInlineAdvisor::MLInlineAdvisor().
|
static |
Referenced by llvm::MLInlineAdvisor::onPassExit().
|
static |
Referenced by llvm::getReleaseModeAdvisor().
|
static |
Definition at line 113 of file MLInlineAdvisor.cpp.
Referenced by llvm::getReleaseModeAdvisor().
|
static |
Referenced by llvm::MLInlineAdvisor::onSuccessfulInlining().
|
static |
Referenced by llvm::MLInlineAdvisor::getAdviceImpl().
|
static |
Referenced by llvm::MLInlineAdvisor::MLInlineAdvisor().