From ecb28f2b49e0f0538a1d147c4742b04c90ccd3ad Mon Sep 17 00:00:00 2001 From: Sanjiv Gupta Date: Sat, 24 Oct 2009 18:19:41 +0000 Subject: [PATCH] Revert back 85006 for now as it breaks PIC16 tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85008 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp | 6 ------ lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h | 1 - lib/Target/PIC16/PIC16ABINames.h | 6 ------ lib/Target/PIC16/PIC16MemSelOpt.cpp | 8 ++------ lib/Target/PIC16/PIC16TargetObjectFile.cpp | 25 +------------------------ lib/Target/PIC16/PIC16TargetObjectFile.h | 8 -------- 6 files changed, 3 insertions(+), 51 deletions(-) diff --git a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp index b2a4c1124ee..ea0f4941da7 100644 --- a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp +++ b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp @@ -298,7 +298,6 @@ bool PIC16AsmPrinter::doInitialization(Module &M) { EmitIData(M); EmitUData(M); EmitRomData(M); - EmitSharedUdata(M); EmitUserSections(M); return Result; } @@ -371,11 +370,6 @@ void PIC16AsmPrinter::EmitRomData(Module &M) { EmitSingleSection(PTOF->ROMDATASection()); } -// Emit Shared section udata. -void PIC16AsmPrinter::EmitSharedUdata(Module &M) { - EmitSingleSection(PTOF->SHAREDUDATASection()); -} - bool PIC16AsmPrinter::doFinalization(Module &M) { EmitAllAutos(M); printLibcallDecls(); diff --git a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h index 838c970e1e5..b13d9ce3aac 100644 --- a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h +++ b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h @@ -55,7 +55,6 @@ namespace llvm { void EmitUData (Module &M); void EmitAllAutos (Module &M); void EmitRomData (Module &M); - void EmitSharedUdata(Module &M); void EmitUserSections (Module &M); void EmitFunctionFrame(MachineFunction &MF); void printLibcallDecls(); diff --git a/lib/Target/PIC16/PIC16ABINames.h b/lib/Target/PIC16/PIC16ABINames.h index e18ddf158ec..7f4c2f1cc28 100644 --- a/lib/Target/PIC16/PIC16ABINames.h +++ b/lib/Target/PIC16/PIC16ABINames.h @@ -234,12 +234,6 @@ namespace llvm { return "romdata.#"; } - static std::string getSharedUDataSectionName() { - std::ostringstream o; - o << getTagName(PREFIX_SYMBOL) << "udata_shr" << ".#"; - return o.str(); - } - static std::string getRomdataSectionName(unsigned num, std::string prefix = "") { std::ostringstream o; diff --git a/lib/Target/PIC16/PIC16MemSelOpt.cpp b/lib/Target/PIC16/PIC16MemSelOpt.cpp index 93ccdd24918..a97dc35b137 100644 --- a/lib/Target/PIC16/PIC16MemSelOpt.cpp +++ b/lib/Target/PIC16/PIC16MemSelOpt.cpp @@ -144,7 +144,7 @@ bool MemSelOpt::processInstruction(MachineInstr *MI) { } // Get the section name(NewBank) for MemOp. - // This assumes that the section names for globals are already set by + // This assumes that the section names for globals are laready set by // AsmPrinter->doInitialization. std::string NewBank = CurBank; if (Op.getType() == MachineOperand::MO_GlobalAddress && @@ -156,11 +156,7 @@ bool MemSelOpt::processInstruction(MachineInstr *MI) { std::string Sym = Op.getSymbolName(); NewBank = PAN::getSectionNameForSym(Sym); } - - // If the section is shared section, do not emit banksel. - if (NewBank == PAN::getSharedUDataSectionName()) - return Changed; - + // If the previous and new section names are same, we don't need to // emit banksel. if (NewBank.compare(CurBank) != 0 ) { diff --git a/lib/Target/PIC16/PIC16TargetObjectFile.cpp b/lib/Target/PIC16/PIC16TargetObjectFile.cpp index 846715de6f3..7eedf7fe235 100644 --- a/lib/Target/PIC16/PIC16TargetObjectFile.cpp +++ b/lib/Target/PIC16/PIC16TargetObjectFile.cpp @@ -72,7 +72,6 @@ getPIC16DataSection(const std::string &Name, PIC16SectionType Ty, case UDATA: UDATASections_.push_back(Entry); break; case IDATA: IDATASections_.push_back(Entry); break; case ROMDATA: ROMDATASection_ = Entry; break; - case UDATA_SHR: SHAREDUDATASection_ = Entry; break; } return Entry; @@ -280,10 +279,7 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind, std::string AddrStr = "Address="; if (SectName.compare(0, AddrStr.length(), AddrStr) == 0) { std::string SectAddr = SectName.substr(AddrStr.length()); - if (SectAddr.compare("NEAR") == 0) - return allocateSHARED(GVar, Mang); - else - return allocateAtGivenAddress(GVar, SectAddr); + return allocateAtGivenAddress(GVar, SectAddr); } // Create the section specified with section attribute. @@ -293,25 +289,6 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind, return getPIC16DataSection(GV->getSection().c_str(), UDATA); } -const MCSection * -PIC16TargetObjectFile::allocateSHARED(const GlobalVariable *GV, - Mangler *Mang) const { - // Make sure that this is an uninitialized global. - assert(GV->hasInitializer() && "This global doesn't need space"); - if (!GV->getInitializer()->isNullValue()) { - // FIXME: Generate a warning in this case that near qualifier will be - // ignored. - return SelectSectionForGlobal(GV, SectionKind::getDataRel(), Mang, *TM); - } - std::string Name = PAN::getSharedUDataSectionName(); - - PIC16Section *SharedUDataSect = getPIC16DataSection(Name.c_str(), UDATA_SHR); - // Insert the GV into shared section. - SharedUDataSect->Items.push_back(GV); - return SharedUDataSect; -} - - // Interface used by AsmPrinter to get a code section for a function. const PIC16Section * PIC16TargetObjectFile::SectionForCode(const std::string &FnName) const { diff --git a/lib/Target/PIC16/PIC16TargetObjectFile.h b/lib/Target/PIC16/PIC16TargetObjectFile.h index 0b0ad43ff94..ca07bedafe1 100644 --- a/lib/Target/PIC16/PIC16TargetObjectFile.h +++ b/lib/Target/PIC16/PIC16TargetObjectFile.h @@ -56,7 +56,6 @@ namespace llvm { mutable std::vector UDATASections_; mutable std::vector IDATASections_; mutable PIC16Section * ROMDATASection_; - mutable PIC16Section * SHAREDUDATASection_; /// Standard Auto Sections. mutable std::vector AUTOSections_; @@ -111,10 +110,6 @@ namespace llvm { /// Allocate DATA at user specified address. const MCSection *allocateAtGivenAddress(const GlobalVariable *GV, const std::string &Addr) const; - - /// Allocate a shared variable to SHARED section. - const MCSection *allocateSHARED(const GlobalVariable *GV, - Mangler *Mang) const; public: PIC16TargetObjectFile(); @@ -152,9 +147,6 @@ namespace llvm { const PIC16Section *ROMDATASection() const { return ROMDATASection_; } - const PIC16Section *SHAREDUDATASection() const { - return SHAREDUDATASection_; - } const std::vector &AUTOSections() const { return AUTOSections_; } -- 2.11.0