diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h index 63afe9bd6a1..42545c62fc5 100644 --- a/include/llvm/Target/TargetAsmInfo.h +++ b/include/llvm/Target/TargetAsmInfo.h @@ -595,13 +595,6 @@ namespace llvm { virtual SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV) const; - /// SectionFlagsForGlobal - This hook allows the target to select proper - /// section flags either for given global or for section. -// FIXME: Eliminate this. - virtual unsigned - SectionFlagsForGlobal(const GlobalValue *GV = NULL, - const char* name = NULL) const; - /// SectionForGlobal - This hooks returns proper section name for given /// global with all necessary flags and marks. // FIXME: Eliminate this. diff --git a/lib/Target/TargetAsmInfo.cpp b/lib/Target/TargetAsmInfo.cpp index 96e3e856367..6790ec90906 100644 --- a/lib/Target/TargetAsmInfo.cpp +++ b/lib/Target/TargetAsmInfo.cpp @@ -188,13 +188,12 @@ static bool isConstantString(const Constant *C) { return false; } -unsigned -TargetAsmInfo::SectionFlagsForGlobal(const GlobalValue *GV, - const char *Name) const { +static unsigned SectionFlagsForGlobal(const GlobalValue *GV, + SectionKind::Kind Kind, + const char *Name = 0) { unsigned Flags = SectionFlags::None; // Decode flags from global itself. - SectionKind::Kind Kind = SectionKindForGlobal(GV); switch (Kind) { case SectionKind::Text: Flags |= SectionFlags::Code; @@ -292,7 +291,8 @@ const Section *TargetAsmInfo::SectionForGlobal(const GlobalValue *GV) const { // Select section name if (GV->hasSection()) { // Honour section already set, if any. - unsigned Flags = SectionFlagsForGlobal(GV, GV->getSection().c_str()); + unsigned Flags = SectionFlagsForGlobal(GV, SectionKindForGlobal(GV), + GV->getSection().c_str()); return getNamedSection(GV->getSection().c_str(), Flags); } @@ -303,7 +303,7 @@ const Section *TargetAsmInfo::SectionForGlobal(const GlobalValue *GV) const { getSectionPrefixForUniqueGlobal(SectionKindForGlobal(GV))) { // FIXME: Use mangler interface (PR4584). std::string Name = Prefix+GV->getNameStr(); - unsigned Flags = SectionFlagsForGlobal(GV); + unsigned Flags = SectionFlagsForGlobal(GV, SectionKindForGlobal(GV)); return getNamedSection(Name.c_str(), Flags); } }