From 6d389f5ebae9aa08309c5795234cf155054b6b39 Mon Sep 17 00:00:00 2001 From: Jack Carter Date: Fri, 4 Oct 2013 22:52:31 +0000 Subject: reverting per request git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191992 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/MCParser/AsmParser.cpp | 4 +--- lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 19 ------------------- lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp | 21 ++------------------- lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h | 2 -- lib/Target/Mips/MipsAsmPrinter.cpp | 4 ++-- 5 files changed, 5 insertions(+), 45 deletions(-) (limited to 'lib') diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index 53ce02c..9a36256 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/lib/MC/MCParser/AsmParser.cpp @@ -673,10 +673,8 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) { // Finalize the output stream if there are no errors and if the client wants // us to. - if (!HadError && !NoFinalize) { - getTargetParser().emitEndOfAsmFile(Out); + if (!HadError && !NoFinalize) Out.Finish(); - } return HadError; } diff --git a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index c2e4bba..447e7dc 100644 --- a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#include "AsmParser/MipsAsmFlags.h" -#include "MCTargetDesc/MipsELFStreamer.h" #include "MCTargetDesc/MipsMCTargetDesc.h" #include "MipsRegisterInfo.h" #include "llvm/ADT/StringSwitch.h" @@ -61,7 +59,6 @@ class MipsAsmParser : public MCTargetAsmParser { MCSubtargetInfo &STI; MCAsmParser &Parser; MipsAssemblerOptions Options; - MipsMCAsmFlags Flags; bool hasConsumedDollar; #define GET_ASSEMBLER_HEADER @@ -231,8 +228,6 @@ class MipsAsmParser : public MCTargetAsmParser { bool processInstruction(MCInst &Inst, SMLoc IDLoc, SmallVectorImpl &Instructions); - void emitEndOfAsmFile(MCStreamer &Out); - public: MipsAsmParser(MCSubtargetInfo &sti, MCAsmParser &parser, const MCInstrInfo &MII) @@ -2177,23 +2172,9 @@ bool MipsAsmParser::ParseDirective(AsmToken DirectiveID) { return false; } - if (IDVal == ".abicalls") { - Flags.setRelocationModel(MipsMCAsmFlags::MAF_RM_CPIC); - if (Parser.getTok().isNot(AsmToken::EndOfStatement)) - return Error(Parser.getTok().getLoc(), "unexpected token in directive"); - return false; - } - return true; } -/// End of assembly processing such as updating ELF header flags. -void MipsAsmParser::emitEndOfAsmFile(MCStreamer &OutStreamer) { - if (MipsELFStreamer *MES = dyn_cast(&OutStreamer)) - MES->emitELFHeaderFlagsAsm(Flags); - MCTargetAsmParser::emitEndOfAsmFile(OutStreamer); -} - extern "C" void LLVMInitializeMipsAsmParser() { RegisterMCAsmParser X(TheMipsTarget); RegisterMCAsmParser Y(TheMipselTarget); diff --git a/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp b/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp index 144cb1e..cfcb877 100644 --- a/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp +++ b/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp @@ -7,7 +7,6 @@ // //===-------------------------------------------------------------------===// #include "MCTargetDesc/MipsELFStreamer.h" -#include "AsmParser/MipsAsmFlags.h" #include "MipsSubtarget.h" #include "llvm/MC/MCAssembler.h" #include "llvm/MC/MCELF.h" @@ -67,26 +66,10 @@ namespace llvm { Reloc::Model RM = Subtarget.getRelocationModel(); if (RM == Reloc::PIC_ || RM == Reloc::Default) EFlags |= ELF::EF_MIPS_PIC; - - MCA.setELFHeaderEFlags(EFlags); - } - - // For llvm-mc. Set a group of ELF header flags - void MipsELFStreamer::emitELFHeaderFlagsAsm(const MipsMCAsmFlags &Flags) { - - // Update e_header flags - MCAssembler &MCA = getAssembler(); - unsigned EFlags = MCA.getELFHeaderEFlags(); - - // Relocation Model - if (Flags.isModelCpic() || Flags.isModelDefault()) - EFlags |= ELF::EF_MIPS_CPIC; - if (Flags.isModelStatic()) + else if (RM == Reloc::Static) ; // Do nothing for Reloc::Static - else if (Flags.isModelPic() || Flags.isModelDefault()) - EFlags |= ELF::EF_MIPS_PIC; else - assert(0 && "Unsupported relocation model for e_flags"); + llvm_unreachable("Unsupported relocation model for e_flags"); MCA.setELFHeaderEFlags(EFlags); } diff --git a/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h b/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h index 9987f34..b10ccc7 100644 --- a/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h +++ b/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h @@ -13,7 +13,6 @@ namespace llvm { class MipsAsmPrinter; -class MipsMCAsmFlags; class MipsSubtarget; class MCSymbol; @@ -27,7 +26,6 @@ public: ~MipsELFStreamer() {} void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget); - void emitELFHeaderFlagsAsm(const MipsMCAsmFlags &MAFlags); void emitMipsSTOCG(const MipsSubtarget &Subtarget, MCSymbol *Sym, unsigned Val); diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp index b12cb62..1dc3326 100644 --- a/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/lib/Target/Mips/MipsAsmPrinter.cpp @@ -594,8 +594,8 @@ void MipsAsmPrinter::EmitEndOfAsmFile(Module &M) { // Emit Mips ELF register info Subtarget->getMReginfo().emitMipsReginfoSectionCG( OutStreamer, getObjFileLowering(), *Subtarget); - MipsELFStreamer *MES = cast(&OutStreamer); - MES->emitELFHeaderFlagsCG(*Subtarget); + if (MipsELFStreamer *MES = dyn_cast(&OutStreamer)) + MES->emitELFHeaderFlagsCG(*Subtarget); } void MipsAsmPrinter::PrintDebugValueComment(const MachineInstr *MI, -- cgit v1.1