TargetAsmParser doesn't need reference to Target.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 19:33:14 +0000 (19:33 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 19:33:14 +0000 (19:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134721 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetAsmParser.h
include/llvm/Target/TargetRegistry.h
lib/MC/MCParser/TargetAsmParser.cpp
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp
lib/Target/X86/AsmParser/X86AsmParser.cpp

index 9ff50cb275be03d31e4f0f7212777a4431611654..df84231eea19583481010253c9eb01cf5276e1f4 100644 (file)
@@ -15,7 +15,6 @@
 namespace llvm {
 class MCStreamer;
 class StringRef;
-class Target;
 class SMLoc;
 class AsmToken;
 class MCParsedAsmOperand;
@@ -26,23 +25,19 @@ class TargetAsmParser : public MCAsmParserExtension {
   TargetAsmParser(const TargetAsmParser &);   // DO NOT IMPLEMENT
   void operator=(const TargetAsmParser &);  // DO NOT IMPLEMENT
 protected: // Can only create subclasses.
-  TargetAsmParser(const Target &);
+  TargetAsmParser();
  
-  /// The Target that this machine was created for.
-  const Target &TheTarget;
-
-  /// The current set of available features.
+  /// AvailableFeatures - The current set of available features.
   unsigned AvailableFeatures;
 
 public:
   virtual ~TargetAsmParser();
 
-  const Target &getTarget() const { return TheTarget; }
-
   unsigned getAvailableFeatures() const { return AvailableFeatures; }
   void setAvailableFeatures(unsigned Value) { AvailableFeatures = Value; }
 
-  virtual bool ParseRegister(unsigned &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) = 0;
+  virtual bool ParseRegister(unsigned &RegNo, SMLoc &StartLoc,
+                             SMLoc &EndLoc) = 0;
 
   /// ParseInstruction - Parse one assembly instruction.
   ///
index 00b009a52ef93e7e3fb7a589195a814353870d8b..168670387c8ad395921f91d43bf20a3a612bb718 100644 (file)
@@ -79,7 +79,7 @@ namespace llvm {
                                                   const std::string &TT);
     typedef TargetAsmLexer *(*AsmLexerCtorTy)(const Target &T,
                                               const MCAsmInfo &MAI);
-    typedef TargetAsmParser *(*AsmParserCtorTy)(const Target &T, StringRef TT,
+    typedef TargetAsmParser *(*AsmParserCtorTy)(StringRef TT,
                                                 StringRef CPU, StringRef Features,
                                                 MCAsmParser &P);
     typedef MCDisassembler *(*MCDisassemblerCtorTy)(const Target &T);
@@ -300,10 +300,11 @@ namespace llvm {
     /// \arg Parser - The target independent parser implementation to use for
     /// parsing and lexing.
     TargetAsmParser *createAsmParser(StringRef Triple, StringRef CPU,
-                                     StringRef Features, MCAsmParser &Parser) const {
+                                     StringRef Features,
+                                     MCAsmParser &Parser) const {
       if (!AsmParserCtorFn)
         return 0;
-      return AsmParserCtorFn(*this, Triple, CPU, Features, Parser);
+      return AsmParserCtorFn(Triple, CPU, Features, Parser);
     }
 
     /// createAsmPrinter - Create a target specific assembly printer pass.  This
@@ -858,10 +859,9 @@ namespace llvm {
     }
 
   private:
-    static TargetAsmParser *Allocator(const Target &T, StringRef TT,
-                                      StringRef CPU, StringRef FS,
-                                      MCAsmParser &P) {
-      return new AsmParserImpl(T, TT, CPU, FS, P);
+    static TargetAsmParser *Allocator(StringRef TT, StringRef CPU,
+                                      StringRef FS, MCAsmParser &P) {
+      return new AsmParserImpl(TT, CPU, FS, P);
     }
   };
 
index 8d43c21f4bc964a1f39373c8df2ae96226345d8e..512f6b04491144bb7a92997c4f17701e80caa093 100644 (file)
@@ -10,8 +10,8 @@
 #include "llvm/Target/TargetAsmParser.h"
 using namespace llvm;
 
-TargetAsmParser::TargetAsmParser(const Target &T) 
-  : TheTarget(T), AvailableFeatures(0)
+TargetAsmParser::TargetAsmParser()
+  : AvailableFeatures(0)
 {
 }
 
index 5cf3633b43076b9dc927475f9d54e7022350c6f0..d97f8a5b769660b7cec29ca1c58691a8a552d001 100644 (file)
@@ -41,7 +41,7 @@ class ARMOperand;
 
 class ARMAsmParser : public TargetAsmParser {
   MCAsmParser &Parser;
-  MCSubtargetInfo *STI;
+  const MCSubtargetInfo *STI;
 
   MCAsmParser &getParser() const { return Parser; }
   MCAsmLexer &getLexer() const { return Parser.getLexer(); }
@@ -127,9 +127,8 @@ class ARMAsmParser : public TargetAsmParser {
                                   const SmallVectorImpl<MCParsedAsmOperand*> &);
 
 public:
-  ARMAsmParser(const Target &T, StringRef TT, StringRef CPU, StringRef FS,
-               MCAsmParser &_Parser)
-    : TargetAsmParser(T), Parser(_Parser) {
+  ARMAsmParser(StringRef TT, StringRef CPU, StringRef FS, MCAsmParser &_Parser)
+    : TargetAsmParser(), Parser(_Parser) {
     STI = ARM_MC::createARMMCSubtargetInfo(TT, CPU, FS);
 
     MCAsmParserExtension::Initialize(_Parser);
index 603fc64bb9a136a944835aa6c2056ebe42544509..a6fc1474998e0b566a271f8d2206bdf5a7b5cf39 100644 (file)
@@ -63,9 +63,9 @@ class MBlazeAsmParser : public TargetAsmParser {
 
 
 public:
-  MBlazeAsmParser(const Target &T, StringRef TT, StringRef CPU, StringRef FS,
+  MBlazeAsmParser(StringRef TT, StringRef CPU, StringRef FS,
                   MCAsmParser &_Parser)
-    : TargetAsmParser(T), Parser(_Parser) {}
+    : TargetAsmParser(), Parser(_Parser) {}
 
   virtual bool ParseInstruction(StringRef Name, SMLoc NameLoc,
                                 SmallVectorImpl<MCParsedAsmOperand*> &Operands);
index 45b1944997f12fb2499e9a99abe2e88705d97f9a..5b66a0597225417926658ddbe88598383cf9e672 100644 (file)
@@ -37,7 +37,7 @@ struct X86Operand;
 
 class X86ATTAsmParser : public TargetAsmParser {
   MCAsmParser &Parser;
-  MCSubtargetInfo *STI;
+  const MCSubtargetInfo *STI;
 
 private:
   MCAsmParser &getParser() const { return Parser; }
@@ -77,9 +77,9 @@ private:
   /// }
 
 public:
-  X86ATTAsmParser(const Target &T, StringRef TT, StringRef CPU, StringRef FS,
+  X86ATTAsmParser(StringRef TT, StringRef CPU, StringRef FS,
                   MCAsmParser &parser)
-    : TargetAsmParser(T), Parser(parser) {
+    : TargetAsmParser(), Parser(parser) {
     STI = X86_MC::createX86MCSubtargetInfo(TT, CPU, FS);
 
     // Initialize the set of available features.