diff --git a/llvm/include/llvm/Analysis/MemoryProfileInfo.h b/llvm/include/llvm/Analysis/MemoryProfileInfo.h index 9fcb81a0a1b4c..1d98f86f50484 100644 --- a/llvm/include/llvm/Analysis/MemoryProfileInfo.h +++ b/llvm/include/llvm/Analysis/MemoryProfileInfo.h @@ -13,9 +13,8 @@ #ifndef LLVM_ANALYSIS_MEMORYPROFILEINFO_H #define LLVM_ANALYSIS_MEMORYPROFILEINFO_H -#include "llvm/IR/InstrTypes.h" #include "llvm/IR/Metadata.h" -#include "llvm/ProfileData/MemProfCommon.h" +#include "llvm/IR/ModuleSummaryIndex.h" #include namespace llvm { diff --git a/llvm/include/llvm/IR/ModuleSummaryIndex.h b/llvm/include/llvm/IR/ModuleSummaryIndex.h index 23f9504b44fab..65e428a3adea7 100644 --- a/llvm/include/llvm/IR/ModuleSummaryIndex.h +++ b/llvm/include/llvm/IR/ModuleSummaryIndex.h @@ -27,7 +27,6 @@ #include "llvm/IR/ConstantRange.h" #include "llvm/IR/GlobalValue.h" #include "llvm/IR/Module.h" -#include "llvm/ProfileData/MemProfCommon.h" #include "llvm/Support/Allocator.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/InterleavedRange.h" @@ -307,6 +306,14 @@ template <> struct DenseMapInfo { static unsigned getHashValue(ValueInfo I) { return hash_value(I.getRef()); } }; +// For optional hinted size reporting, holds a pair of the full stack id +// (pre-trimming, from the full context in the profile), and the associated +// total profiled size. +struct ContextTotalSize { + uint64_t FullStackId; + uint64_t TotalSize; +}; + /// Summary of memprof callsite metadata. struct CallsiteInfo { // Actual callee function. @@ -343,6 +350,19 @@ inline raw_ostream &operator<<(raw_ostream &OS, const CallsiteInfo &SNI) { return OS; } +// Allocation type assigned to an allocation reached by a given context. +// More can be added, now this is cold, notcold and hot. +// Values should be powers of two so that they can be ORed, in particular to +// track allocations that have different behavior with different calling +// contexts. +enum class AllocationType : uint8_t { + None = 0, + NotCold = 1, + Cold = 2, + Hot = 4, + All = 7 // This should always be set to the OR of all values. +}; + /// Summary of a single MIB in a memprof metadata on allocations. struct MIBInfo { // The allocation type for this profiled context. diff --git a/llvm/include/llvm/ProfileData/MemProfCommon.h b/llvm/include/llvm/ProfileData/MemProfCommon.h deleted file mode 100644 index a638824ec000e..0000000000000 --- a/llvm/include/llvm/ProfileData/MemProfCommon.h +++ /dev/null @@ -1,43 +0,0 @@ -//===- MemProfCommon.h - MemProf support ----------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file contains common types used by different parts of the MemProf code. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_PROFILEDATA_MEMPROFCOMMON_H -#define LLVM_PROFILEDATA_MEMPROFCOMMON_H - -#include - -namespace llvm { - -// For optional hinted size reporting, holds a pair of the full stack id -// (pre-trimming, from the full context in the profile), and the associated -// total profiled size. -struct ContextTotalSize { - uint64_t FullStackId; - uint64_t TotalSize; -}; - -// Allocation type assigned to an allocation reached by a given context. -// More can be added, now this is cold, notcold and hot. -// Values should be powers of two so that they can be ORed, in particular to -// track allocations that have different behavior with different calling -// contexts. -enum class AllocationType : uint8_t { - None = 0, - NotCold = 1, - Cold = 2, - Hot = 4, - All = 7 // This should always be set to the OR of all values. -}; - -} // namespace llvm - -#endif // LLVM_PROFILEDATA_MEMPROFCOMMON_H diff --git a/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp b/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp index 6538311571529..5982476f3994e 100644 --- a/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp +++ b/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp @@ -46,7 +46,6 @@ #include "llvm/Transforms/Utils/ModuleUtils.h" #include #include -#include using namespace llvm; using namespace llvm::memprof;