reverting per request
authorJack Carter <jack.carter@imgtec.com>
Fri, 4 Oct 2013 22:52:31 +0000 (22:52 +0000)
committerJack Carter <jack.carter@imgtec.com>
Fri, 4 Oct 2013 22:52:31 +0000 (22:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191992 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCTargetAsmParser.h
lib/MC/MCParser/AsmParser.cpp
lib/Target/Mips/AsmParser/MipsAsmParser.cpp
lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
lib/Target/Mips/MipsAsmPrinter.cpp
test/MC/Mips/mips_directives.s

index 512fd8649ae31c35d2c1ab10288c984ccd243ed7..6e96e8becdab1e31d2e4586fff2407e329a03daa 100644 (file)
@@ -176,11 +176,6 @@ public:
   virtual void convertToMapAndConstraints(unsigned Kind,
                       const SmallVectorImpl<MCParsedAsmOperand*> &Operands) = 0;
 
-  /// End of assembly processing.
-  /// This gets called when all assembly has been read and gives the local
-  /// Target AsmParsers an opportunity for any final data processing, etc..
-  virtual void emitEndOfAsmFile(MCStreamer &Out) {}
-
   virtual const MCExpr *applyModifierToExpr(const MCExpr *E,
                                             MCSymbolRefExpr::VariantKind,
                                             MCContext &Ctx) {
index 53ce02c08996587d30bf583f739856e1e18ee052..9a362563a7ea93c855f9a22293756a979f642cd6 100644 (file)
@@ -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;
 }
index c2e4bba87b31b3ae82086f0b02e01bca53d05525..447e7dc6e1c449a1d270b820c35219c52c259c7b 100644 (file)
@@ -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<MCInst> &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<MipsELFStreamer>(&OutStreamer))
-    MES->emitELFHeaderFlagsAsm(Flags);
-  MCTargetAsmParser::emitEndOfAsmFile(OutStreamer);
-}
-
 extern "C" void LLVMInitializeMipsAsmParser() {
   RegisterMCAsmParser<MipsAsmParser> X(TheMipsTarget);
   RegisterMCAsmParser<MipsAsmParser> Y(TheMipselTarget);
index 144cb1e4397e02b95801b0d1ec8777b013ef9bd1..cfcb877805af46b269aa8118d3b07f63ef753f91 100644 (file)
@@ -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);
   }
index 9987f348ae6085426126afbdbb0ea7849628f7b8..b10ccc78e665b0b70642dbdca82fe6056b91ef5c 100644 (file)
@@ -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);
index b12cb625a789026061a69e165295b9c98df5413b..1dc3326578354dda309263b93526e9c1acd242df 100644 (file)
@@ -594,8 +594,8 @@ void MipsAsmPrinter::EmitEndOfAsmFile(Module &M) {
   // Emit Mips ELF register info
   Subtarget->getMReginfo().emitMipsReginfoSectionCG(
              OutStreamer, getObjFileLowering(), *Subtarget);
-  MipsELFStreamer *MES = cast<MipsELFStreamer>(&OutStreamer);
-  MES->emitELFHeaderFlagsCG(*Subtarget);
+  if (MipsELFStreamer *MES = dyn_cast<MipsELFStreamer>(&OutStreamer))
+    MES->emitELFHeaderFlagsCG(*Subtarget);
 }
 
 void MipsAsmPrinter::PrintDebugValueComment(const MachineInstr *MI,
index b1f8182728868bc89fc7be33c27e77c8b6c47c13..bbb26165523cbe95460d14744db89e14144f707e 100644 (file)
@@ -1,12 +1,9 @@
 # RUN: llvm-mc -show-encoding -triple mips-unknown-unknown %s | FileCheck %s
-# RUN: llvm-mc -filetype=obj -triple mips-unknown-unknown %s | \
-# RUN: llvm-readobj -h | FileCheck -check-prefix=CHECK-ELF %s
 #
 # CHECK:  .text
 # CHECK:  $BB0_2:
 $BB0_2:
-    .ent directives_test
-    .abicalls
+  .ent directives_test
     .frame    $sp,0,$ra
     .mask     0x00000000,0
     .fmask    0x00000000,0
@@ -46,5 +43,3 @@ $JTI0_0:
 # CHECK:    and     $3, $15, $15       # encoding: [0x01,0xef,0x18,0x24]
     abs.s  f6,FPU_MASK
     and    r3,$t7,STORE_MASK
-
-# CHECK-ELF: Flags [ (0x6)