12#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_MEMPROFILER_H
13#define LLVM_TRANSFORMS_INSTRUMENTATION_MEMPROFILER_H
19#include <unordered_map>
23class IndexedInstrProfReader;
25class TargetLibraryInfo;
61 std::string MemoryProfileFileName;
79 std::unordered_map<LineLocation, LineLocation, LineLocationHash>;
This header defines various interfaces for pass management in LLVM.
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
Machine Check Debug Module
A container for analyses that lazily runs them and caches their results.
Reader for the indexed binary instrprof format.
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
Public interface to the memory profiler pass for instrumenting code to profile memory accesses.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
Public interface to the memory profiler module pass for instrumenting code to profile memory allocati...
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
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.
Provides information about what library functions are available for the current target.
DenseMap< uint64_t, LocToLocMap > computeUndriftMap(Module &M, IndexedInstrProfReader *MemProfReader, const TargetLibraryInfo &TLI)
std::unordered_map< LineLocation, LineLocation, LineLocationHash > LocToLocMap
DenseMap< uint64_t, SmallVector< CallEdgeTy, 0 > > extractCallsFromIR(Module &M, const TargetLibraryInfo &TLI)
This is an optimization pass for GlobalISel generic memory operations.
A CRTP mix-in to automatically provide informational APIs needed for passes.
uint64_t operator()(const LineLocation &Loc) const
uint64_t getHashCode() const