From: Chris Lattner Date: Tue, 21 Jul 2009 21:26:32 +0000 (+0000) Subject: Remove some overridden functions in XCoreTargetAsmInfo that are X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=42b6418cc0ed26123a7b838182d41aa940481c04;p=oota-llvm.git Remove some overridden functions in XCoreTargetAsmInfo that are implemented exactly the same way as its ELFTargetAsmInfo subclass has them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76653 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Target/ELFTargetAsmInfo.h b/include/llvm/Target/ELFTargetAsmInfo.h index 6181e59a055..79f167a12a1 100644 --- a/include/llvm/Target/ELFTargetAsmInfo.h +++ b/include/llvm/Target/ELFTargetAsmInfo.h @@ -29,7 +29,7 @@ namespace llvm { virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const; virtual std::string printSectionFlags(unsigned flags) const; const Section* MergeableConstSection(const GlobalVariable *GV) const; - inline const Section* MergeableConstSection(const Type *Ty) const; + const Section* MergeableConstSection(const Type *Ty) const; const Section* MergeableStringSection(const GlobalVariable *GV) const; virtual const Section* SelectSectionForMachineConst(const Type *Ty) const; diff --git a/lib/Target/ELFTargetAsmInfo.cpp b/lib/Target/ELFTargetAsmInfo.cpp index 0338ba42858..e528aebf9a3 100644 --- a/lib/Target/ELFTargetAsmInfo.cpp +++ b/lib/Target/ELFTargetAsmInfo.cpp @@ -142,11 +142,10 @@ ELFTargetAsmInfo::SelectSectionForMachineConst(const Type *Ty) const { const Section* ELFTargetAsmInfo::MergeableConstSection(const GlobalVariable *GV) const { - Constant *C = GV->getInitializer(); - return MergeableConstSection(C->getType()); + return MergeableConstSection(GV->getInitializer()->getType()); } -inline const Section* +const Section* ELFTargetAsmInfo::MergeableConstSection(const Type *Ty) const { const TargetData *TD = TM.getTargetData(); diff --git a/lib/Target/XCore/XCoreTargetAsmInfo.cpp b/lib/Target/XCore/XCoreTargetAsmInfo.cpp index 59ad624052a..3d2203d6bb2 100644 --- a/lib/Target/XCore/XCoreTargetAsmInfo.cpp +++ b/lib/Target/XCore/XCoreTargetAsmInfo.cpp @@ -72,12 +72,9 @@ const Section* XCoreTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const { SectionKind::Kind Kind = SectionKindForGlobal(GV); - if (const GlobalVariable *GVar = dyn_cast(GV)) - { + if (const GlobalVariable *GVar = dyn_cast(GV)) { if (!GVar->isWeakForLinker()) { switch (Kind) { - case SectionKind::RODataMergeStr: - return MergeableStringSection(GVar); case SectionKind::RODataMergeConst: return getReadOnlySection(); case SectionKind::ThreadData: @@ -93,17 +90,6 @@ XCoreTargetAsmInfo::SelectSectionForGlobal(const GlobalValue *GV) const { } const Section* -XCoreTargetAsmInfo::SelectSectionForMachineConst(const Type *Ty) const { - return MergeableConstSection(Ty); -} - -const Section* -XCoreTargetAsmInfo::MergeableConstSection(const GlobalVariable *GV) const { - Constant *C = GV->getInitializer(); - return MergeableConstSection(C->getType()); -} - -inline const Section* XCoreTargetAsmInfo::MergeableConstSection(const Type *Ty) const { const TargetData *TD = TM.getTargetData(); @@ -120,15 +106,8 @@ XCoreTargetAsmInfo::MergeableConstSection(const Type *Ty) const { return getReadOnlySection(); } -const Section* XCoreTargetAsmInfo:: -MergeableStringSection(const GlobalVariable *GV) const { - // FIXME insert in correct mergable section - return getReadOnlySection(); -} - unsigned XCoreTargetAsmInfo:: -SectionFlagsForGlobal(const GlobalValue *GV, - const char* Name) const { +SectionFlagsForGlobal(const GlobalValue *GV, const char* Name) const { unsigned Flags = ELFTargetAsmInfo::SectionFlagsForGlobal(GV, Name); // Mask out unsupported flags Flags &= ~(SectionFlags::Small | SectionFlags::TLS); @@ -162,41 +141,3 @@ SectionFlagsForGlobal(const GlobalValue *GV, return Flags; } - -std::string XCoreTargetAsmInfo:: -printSectionFlags(unsigned flags) const { - std::string Flags = ",\""; - - if (!(flags & SectionFlags::Debug)) - Flags += 'a'; - if (flags & SectionFlags::Code) - Flags += 'x'; - if (flags & SectionFlags::Writeable) - Flags += 'w'; - if (flags & SectionFlags::Mergeable) - Flags += 'M'; - if (flags & SectionFlags::Strings) - Flags += 'S'; - if (flags & SectionFlags::TLS) - Flags += 'T'; - if (flags & SectionFlags::Small) { - if (flags & SectionFlags::Writeable) - Flags += 'd'; // DP relative - else - Flags += 'c'; // CP relative - } - - Flags += "\","; - - Flags += '@'; - - if (flags & SectionFlags::BSS) - Flags += "nobits"; - else - Flags += "progbits"; - - if (unsigned entitySize = SectionFlags::getEntitySize(flags)) - Flags += "," + utostr(entitySize); - - return Flags; -} diff --git a/lib/Target/XCore/XCoreTargetAsmInfo.h b/lib/Target/XCore/XCoreTargetAsmInfo.h index 79fd36aa23c..a1e11fe7868 100644 --- a/lib/Target/XCore/XCoreTargetAsmInfo.h +++ b/lib/Target/XCore/XCoreTargetAsmInfo.h @@ -29,12 +29,7 @@ namespace llvm { explicit XCoreTargetAsmInfo(const XCoreTargetMachine &TM); virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const; - virtual std::string printSectionFlags(unsigned flags) const; - const Section* MergeableConstSection(const GlobalVariable *GV) const; - inline const Section* MergeableConstSection(const Type *Ty) const; - const Section* MergeableStringSection(const GlobalVariable *GV) const; - virtual const Section* - SelectSectionForMachineConst(const Type *Ty) const; + const Section* MergeableConstSection(const Type *Ty) const; virtual unsigned SectionFlagsForGlobal(const GlobalValue *GV = NULL, const char* name = NULL) const;