15#ifndef LLVM_TRANSFORMS_IPO_MEMPROF_CONTEXT_DISAMBIGUATION_H
16#define LLVM_TRANSFORMS_IPO_MEMPROF_CONTEXT_DISAMBIGUATION_H
26class GlobalValueSummary;
28class OptimizationRemarkEmitter;
39 bool applyImport(
Module &M);
42 bool initializeIndirectCallPromotionInfo(
Module &M);
46 struct ICallAnalysisData {
48 std::vector<InstrProfValueData> CandidateProfileData;
51 size_t CallsiteInfoStartIndex;
68 ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps,
77 std::unique_ptr<ModuleSummaryIndex> ImportSummaryForTesting;
85 std::unique_ptr<InstrProfSymtab> Symtab;
86 std::unique_ptr<ICallPromotionAnalysis> ICallAnalysis;
90 bool isSamplePGO =
false);
This header defines various interfaces for pass management in LLVM.
Machine Check Debug Module
ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and s...
A container for analyses that lazily runs them and caches their results.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
Function and variable summary information to aid decisions and implementation of importing.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
Class to hold module path string table and global value map, and encapsulate methods for operating on...
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.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
An efficient, type-erasing, non-owning reference to a callable.
This is an optimization pass for GlobalISel generic memory operations.
A CRTP mix-in to automatically provide informational APIs needed for passes.