summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/ProfileData/ProfileCommon.h8
-rw-r--r--llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp16
-rw-r--r--llvm/lib/ProfileData/ProfileSummary.cpp21
-rw-r--r--llvm/test/CodeGen/X86/partition-sections.ll31
4 files changed, 0 insertions, 76 deletions
diff --git a/llvm/include/llvm/ProfileData/ProfileCommon.h b/llvm/include/llvm/ProfileData/ProfileCommon.h
index 76631146dda..e7d69431542 100644
--- a/llvm/include/llvm/ProfileData/ProfileCommon.h
+++ b/llvm/include/llvm/ProfileData/ProfileCommon.h
@@ -21,8 +21,6 @@
#define LLVM_PROFILEDATA_PROFILE_COMMON_H
namespace llvm {
-class Function;
-class Module;
namespace IndexedInstrProf {
struct Summary;
}
@@ -30,8 +28,6 @@ namespace sampleprof {
class FunctionSamples;
}
struct InstrProfRecord;
-inline const char *getHotSectionPrefix() { return ".hot"; }
-inline const char *getUnlikelySectionPrefix() { return ".unlikely"; }
// The profile summary is one or more (Cutoff, MinCount, NumCounts) triplets.
// The semantics of counts depend on the type of profile. For instrumentation
// profile, counts are block counts and for sample profile, counts are
@@ -70,10 +66,6 @@ protected:
public:
static const int Scale = 1000000;
- // \brief Returns true if F is a hot function.
- static bool isFunctionHot(const Function *F);
- // \brief Returns true if F is unlikley executed.
- static bool isFunctionUnlikely(const Function *F);
inline std::vector<ProfileSummaryEntry> &getDetailedSummary();
void computeDetailedSummary();
/// \brief A vector of useful cutoff values for detailed summary.
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 4229741cf5a..6756e9df384 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -34,7 +34,6 @@
#include "llvm/MC/MCSymbolELF.h"
#include "llvm/MC/MCValue.h"
#include "llvm/ProfileData/InstrProf.h"
-#include "llvm/ProfileData/ProfileCommon.h"
#include "llvm/Support/COFF.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/ELF.h"
@@ -245,11 +244,6 @@ static StringRef getSectionPrefixForGlobal(SectionKind Kind) {
return ".data.rel.ro";
}
-static cl::opt<bool> GroupFunctionsByHotness(
- "group-functions-by-hotness",
- llvm::cl::desc("Partition hot/cold functions by sections prefix"),
- cl::init(false));
-
static MCSectionELF *
selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV,
SectionKind Kind, Mangler &Mang,
@@ -302,16 +296,6 @@ selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV,
Name = getSectionPrefixForGlobal(Kind);
}
- if (GroupFunctionsByHotness) {
- if (const Function *F = dyn_cast<Function>(GV)) {
- if (ProfileSummary::isFunctionHot(F)) {
- Name += getHotSectionPrefix();
- } else if (ProfileSummary::isFunctionUnlikely(F)) {
- Name += getUnlikelySectionPrefix();
- }
- }
- }
-
if (EmitUniqueSection && UniqueSectionNames) {
Name.push_back('.');
TM.getNameWithPrefix(Name, GV, Mang, true);
diff --git a/llvm/lib/ProfileData/ProfileSummary.cpp b/llvm/lib/ProfileData/ProfileSummary.cpp
index 0363fbfe42d..0e2c43e5e91 100644
--- a/llvm/lib/ProfileData/ProfileSummary.cpp
+++ b/llvm/lib/ProfileData/ProfileSummary.cpp
@@ -11,9 +11,6 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/IR/Attributes.h"
-#include "llvm/IR/Function.h"
-#include "llvm/IR/Module.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/ProfileData/ProfileCommon.h"
#include "llvm/ProfileData/SampleProf.h"
@@ -78,24 +75,6 @@ void ProfileSummary::computeDetailedSummary() {
}
}
-// Returns true if the function is a hot function.
-bool ProfileSummary::isFunctionHot(const Function *F) {
- // FIXME: update when summary data is stored in module's metadata.
- return false;
-}
-
-// Returns true if the function is a cold function.
-bool ProfileSummary::isFunctionUnlikely(const Function *F) {
- if (F->hasFnAttribute(Attribute::Cold)) {
- return true;
- }
- if (!F->getEntryCount()) {
- return false;
- }
- // FIXME: update when summary data is stored in module's metadata.
- return (*F->getEntryCount()) == 0;
-}
-
InstrProfSummary::InstrProfSummary(const IndexedInstrProf::Summary &S)
: ProfileSummary(), MaxInternalBlockCount(S.get(
IndexedInstrProf::Summary::MaxInternalBlockCount)),
diff --git a/llvm/test/CodeGen/X86/partition-sections.ll b/llvm/test/CodeGen/X86/partition-sections.ll
deleted file mode 100644
index b05a381440f..00000000000
--- a/llvm/test/CodeGen/X86/partition-sections.ll
+++ /dev/null
@@ -1,31 +0,0 @@
-; RUN: llc < %s -group-functions-by-hotness=true | FileCheck %s -check-prefix=PARTITION
-; RUN: llc < %s -function-sections -group-functions-by-hotness=false | FileCheck %s -check-prefix=NO-PARTITION-FUNCTION-SECTION
-; RUN: llc < %s -function-sections -group-functions-by-hotness=true | FileCheck %s -check-prefix=PARTITION-FUNCTION-SECTION
-
-; PARTITION: .text.unlikely
-; PARTITION: .globl _Z3foov
-; NO-PARTITION-FUNCTION-SECTION: .text._Z3foov
-; PARTITION-FUNCTION-SECTION: .text.unlikely._Z3foov
-define i32 @_Z3foov() #0 {
- ret i32 0
-}
-
-; PARTITION: .globl _Z3barv
-; NO-PARTITION-FUNCTION-SECTION: .text._Z3barv
-; PARTITION-FUNCTION-SECTION: .text.unlikely._Z3barv
-define i32 @_Z3barv() #1 !prof !0 {
- ret i32 1
-}
-
-; PARTITION: .text
-; PARTITION: .globl _Z3bazv
-; NO-PARTITION-FUNCTION-SECTION: .text._Z3bazv
-; PARTITION-FUNCTION-SECTION: .text._Z3bazv
-define i32 @_Z3bazv() #1 {
- ret i32 2
-}
-
-attributes #0 = { nounwind uwtable cold }
-attributes #1 = { nounwind uwtable }
-
-!0 = !{!"function_entry_count", i64 0}
OpenPOWER on IntegriCloud