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
This commit is contained in:
@@ -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('.');
|
||||
|
||||
Reference in New Issue
Block a user