diff options
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/X86TargetAsmInfo.cpp | 22 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86TargetAsmInfo.h | 2 |
2 files changed, 7 insertions, 17 deletions
diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp index e71cd70a3d1..39dfb002305 100644 --- a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp @@ -266,22 +266,12 @@ X86COFFTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, } const char *X86COFFTargetAsmInfo:: -getSectionPrefixForUniqueGlobal(SectionKind::Kind Kind) const { - switch (Kind) { - default: llvm_unreachable("Unknown section kind"); - case SectionKind::Text: return ".text$linkonce"; - case SectionKind::Data: - case SectionKind::DataRelLocal: - case SectionKind::DataRel: - case SectionKind::BSS: - case SectionKind::ThreadData: - case SectionKind::ThreadBSS: return ".data$linkonce"; - case SectionKind::ROData: - case SectionKind::DataRelRO: - case SectionKind::DataRelROLocal: - case SectionKind::RODataMergeConst: - case SectionKind::RODataMergeStr: return ".rdata$linkonce"; - } +getSectionPrefixForUniqueGlobal(SectionKind Kind) const { + if (Kind.isCode()) + return ".text$linkonce"; + if (Kind.isWritable()) + return ".data$linkonce"; + return ".rdata$linkonce"; } std::string X86COFFTargetAsmInfo::printSectionFlags(unsigned flags) const { diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.h b/llvm/lib/Target/X86/X86TargetAsmInfo.h index 94bae7ee831..af1ee2d1473 100644 --- a/llvm/lib/Target/X86/X86TargetAsmInfo.h +++ b/llvm/lib/Target/X86/X86TargetAsmInfo.h @@ -54,7 +54,7 @@ namespace llvm { virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason, bool Global) const; virtual const char * - getSectionPrefixForUniqueGlobal(SectionKind::Kind kind) const; + getSectionPrefixForUniqueGlobal(SectionKind kind) const; virtual std::string printSectionFlags(unsigned flags) const; }; |