summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-27 05:32:16 +0000
committerChris Lattner <sabre@nondot.org>2009-07-27 05:32:16 +0000
commit149465ea06451b9ec1881347b2dccd311ab32576 (patch)
tree67380d89f607e4f46c879187360723f98bca45ec /llvm/lib/Target/Sparc
parent4ead0b9e1cfe52925dd9a8fef2ea9845396947df (diff)
downloadbcm5719-llvm-149465ea06451b9ec1881347b2dccd311ab32576.tar.gz
bcm5719-llvm-149465ea06451b9ec1881347b2dccd311ab32576.zip
Eliminate SectionFlags, just embed a SectionKind into Section
instead and drive things based off of that. llvm-svn: 77184
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp17
-rw-r--r--llvm/lib/Target/Sparc/SparcTargetAsmInfo.h4
2 files changed, 10 insertions, 11 deletions
diff --git a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
index adec722805e..4bcaec00053 100644
--- a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.cpp
@@ -27,25 +27,24 @@ SparcELFTargetAsmInfo::SparcELFTargetAsmInfo(const TargetMachine &TM)
CStringSection=".rodata.str";
// Sparc normally uses named section for BSS.
- BSSSection_ = getNamedSection("\t.bss",
- SectionFlags::Writable | SectionFlags::BSS);
+ BSSSection_ = getNamedSection("\t.bss", SectionKind::BSS);
}
-void SparcELFTargetAsmInfo::getSectionFlags(unsigned Flags,
+void SparcELFTargetAsmInfo::getSectionFlagsAsString(SectionKind Kind,
SmallVectorImpl<char> &Str) const {
- if (Flags & SectionFlags::Mergeable)
- return ELFTargetAsmInfo::getSectionFlags(Flags, Str);
+ if (Kind.isMergeableConst() || Kind.isMergeableCString())
+ return ELFTargetAsmInfo::getSectionFlagsAsString(Kind, Str);
// FIXME: Inefficient.
std::string Res;
- if (!(Flags & SectionFlags::Debug))
+ if (!Kind.isMetadata())
Res += ",#alloc";
- if (Flags & SectionFlags::Code)
+ if (Kind.isText())
Res += ",#execinstr";
- if (Flags & SectionFlags::Writable)
+ if (Kind.isWriteable())
Res += ",#write";
- if (Flags & SectionFlags::TLS)
+ if (Kind.isThreadLocal())
Res += ",#tls";
Str.append(Res.begin(), Res.end());
diff --git a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.h b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.h
index cf65c1f914e..943dcef95e5 100644
--- a/llvm/lib/Target/Sparc/SparcTargetAsmInfo.h
+++ b/llvm/lib/Target/Sparc/SparcTargetAsmInfo.h
@@ -24,8 +24,8 @@ namespace llvm {
struct SparcELFTargetAsmInfo : public ELFTargetAsmInfo {
explicit SparcELFTargetAsmInfo(const TargetMachine &TM);
- virtual void getSectionFlags(unsigned Flags,
- SmallVectorImpl<char> &Str) const;
+ virtual void getSectionFlagsAsString(SectionKind Kind,
+ SmallVectorImpl<char> &Str) const;
};
OpenPOWER on IntegriCloud