diff options
author | Easwaran Raman <eraman@google.com> | 2016-05-16 23:59:04 +0000 |
---|---|---|
committer | Easwaran Raman <eraman@google.com> | 2016-05-16 23:59:04 +0000 |
commit | 01d98ba0b22bfb152a3db85cac7fcb23d9cb5c85 (patch) | |
tree | 8bd42953eedde2f8f4fa2c3510fc3dbde7cc85c7 /llvm | |
parent | 687ca8df18a3d2bac411cc29fd1abcbd281ddf54 (diff) | |
download | bcm5719-llvm-01d98ba0b22bfb152a3db85cac7fcb23d9cb5c85.tar.gz bcm5719-llvm-01d98ba0b22bfb152a3db85cac7fcb23d9cb5c85.zip |
Remove .hot and .unlikely prefixes from function section names.
This code currently relies on static methods in ProfileSummary to determine whether a function is hot or unlikley. I am refactoring the ProfileSummary code and these methods will be removed. As discussed offline, the right way to re-introduce this is to add a pass to annotate functions with unlikely/hot hints and use the hints to determine the prefix here.
llvm-svn: 269726
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 18 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/partition-sections.ll | 31 |
2 files changed, 2 insertions, 47 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index bcede80b236..6664fb366ca 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, @@ -301,16 +295,8 @@ selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV, } else { 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(); - } - } - } + // FIXME: Extend the section prefix to include hotness catagories such as .hot + // or .unlikely for functions. if (EmitUniqueSection && UniqueSectionNames) { Name.push_back('.'); diff --git a/llvm/test/CodeGen/X86/partition-sections.ll b/llvm/test/CodeGen/X86/partition-sections.ll deleted file mode 100644 index bc7d4b1a7cf..00000000000 --- a/llvm/test/CodeGen/X86/partition-sections.ll +++ /dev/null @@ -1,31 +0,0 @@ -; RUN: llc < %s -mtriple=x86_64-pc-linux -group-functions-by-hotness=true | FileCheck %s -check-prefix=PARTITION -; RUN: llc < %s -mtriple=x86_64-pc-linux -function-sections -group-functions-by-hotness=false | FileCheck %s -check-prefix=NO-PARTITION-FUNCTION-SECTION -; RUN: llc < %s -mtriple=x86_64-pc-linux -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} |