14#ifndef LLVM_TRANSFORMS_IPO_SAMPLEPROFILE_H
15#define LLVM_TRANSFORMS_IPO_SAMPLEPROFILE_H
41 std::string File =
"", std::string RemappingFile =
"",
44 bool DisableSampleProfileInlining =
false,
45 bool UseFlattenedProfile =
false);
50 std::string ProfileFileName;
51 std::string ProfileRemappingFileName;
54 bool DisableSampleProfileInlining;
55 bool UseFlattenedProfile;
This header defines various interfaces for pass management in LLVM.
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
Contains the forward declaration for vfs::FileSystem, as well as the IntrusiveRefCntPtrInfo specializ...
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
LLVM_ABI SampleProfileLoaderPass(std::string File="", std::string RemappingFile="", ThinOrFullLTOPhase LTOPhase=ThinOrFullLTOPhase::None, IntrusiveRefCntPtr< vfs::FileSystem > FS=nullptr, bool DisableSampleProfileInlining=false, bool UseFlattenedProfile=false)
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI cl::opt< int > ProfileInlineLimitMin
ThinOrFullLTOPhase
This enumerates the LLVM full LTO or ThinLTO optimization phases.
@ None
No LTO/ThinLTO behavior needed.
LLVM_ABI cl::opt< int > SampleHotCallSiteThreshold
LLVM_ABI cl::opt< int > SampleColdCallSiteThreshold
LLVM_ABI cl::opt< bool > SortProfiledSCC
LLVM_ABI cl::opt< int > ProfileInlineLimitMax
LLVM_ABI cl::opt< int > ProfileInlineGrowthLimit
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in for passes that can be skipped.