[llvm] r232667 - Revert "Add a TargetMachine local MCRegisterInfo and MCInstrInfo so that"

Eric Christopher echristo at gmail.com
Wed Mar 18 13:41:44 PDT 2015


Author: echristo
Date: Wed Mar 18 15:41:44 2015
New Revision: 232667

URL: http://llvm.org/viewvc/llvm-project?rev=232667&view=rev
Log:
Revert "Add a TargetMachine local MCRegisterInfo and MCInstrInfo so that"
Committed too early.

This reverts commit r232666.

Modified:
    llvm/trunk/include/llvm/Target/TargetMachine.h
    llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
    llvm/trunk/lib/Target/TargetMachine.cpp

Modified: llvm/trunk/include/llvm/Target/TargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetMachine.h?rev=232667&r1=232666&r2=232667&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetMachine.h (original)
+++ llvm/trunk/include/llvm/Target/TargetMachine.h Wed Mar 18 15:41:44 2015
@@ -30,8 +30,6 @@ class Mangler;
 class MCAsmInfo;
 class MCCodeGenInfo;
 class MCContext;
-class MCInstrInfo;
-class MCRegisterInfo;
 class MCSymbol;
 class Target;
 class DataLayout;
@@ -88,8 +86,6 @@ protected: // Can only create subclasses
   /// AsmInfo - Contains target specific asm information.
   ///
   const MCAsmInfo *AsmInfo;
-  const MCRegisterInfo *MRI;
-  const MCInstrInfo *MII;
 
   unsigned RequireStructuredCFG : 1;
 
@@ -138,8 +134,6 @@ public:
   /// getMCAsmInfo - Return target specific asm information.
   ///
   const MCAsmInfo *getMCAsmInfo() const { return AsmInfo; }
-  const MCRegisterInfo *getMCRegisterInfo() const { return MRI; }
-  const MCInstrInfo *getMCInstrInfo() const { return MII; }
 
   /// getIntrinsicInfo - If intrinsic information is available, return it.  If
   /// not, return null.

Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp?rev=232667&r1=232666&r2=232667&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp (original)
+++ llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp Wed Mar 18 15:41:44 2015
@@ -47,10 +47,8 @@ EnableFastISelOption("fast-isel", cl::Hi
   cl::desc("Enable the \"fast\" instruction selector"));
 
 void LLVMTargetMachine::initAsmInfo() {
-  MRI = TheTarget.createMCRegInfo(getTargetTriple());
-  MII = TheTarget.createMCInstrInfo();
-
-  MCAsmInfo *TmpAsmInfo = TheTarget.createMCAsmInfo(*MRI, getTargetTriple());
+  MCAsmInfo *TmpAsmInfo = TheTarget.createMCAsmInfo(
+      *getSubtargetImpl()->getRegisterInfo(), getTargetTriple());
   // TargetSelect.h moved to a different directory between LLVM 2.9 and 3.0,
   // and if the old one gets included then MCAsmInfo will be NULL and
   // we'll crash later.
@@ -166,15 +164,15 @@ bool LLVMTargetMachine::addPassesToEmitF
 
   const MCSubtargetInfo &STI = getSubtarget<MCSubtargetInfo>();
   const MCAsmInfo &MAI = *getMCAsmInfo();
-  const MCRegisterInfo &MRI = *getMCRegisterInfo();
-  const MCInstrInfo &MII = *getMCInstrInfo();
-
+  const MCRegisterInfo &MRI = *getSubtargetImpl()->getRegisterInfo();
+  const MCInstrInfo &MII = *getSubtargetImpl()->getInstrInfo();
   std::unique_ptr<MCStreamer> AsmStreamer;
 
   switch (FileType) {
   case CGFT_AssemblyFile: {
-    MCInstPrinter *InstPrinter = getTarget().createMCInstPrinter(
-        MAI.getAssemblerDialect(), MAI, MII, MRI, STI);
+    MCInstPrinter *InstPrinter =
+      getTarget().createMCInstPrinter(MAI.getAssemblerDialect(), MAI,
+                                      MII, MRI, STI);
 
     // Create a code emitter if asked to show the encoding.
     MCCodeEmitter *MCE = nullptr;
@@ -241,7 +239,8 @@ bool LLVMTargetMachine::addPassesToEmitM
 
   // Create the code emitter for the target if it exists.  If not, .o file
   // emission fails.
-  const MCRegisterInfo &MRI = *getMCRegisterInfo();
+  const MCRegisterInfo &MRI = *getSubtargetImpl()->getRegisterInfo();
+  const MCSubtargetInfo &STI = getSubtarget<MCSubtargetInfo>();
   MCCodeEmitter *MCE = getTarget().createMCCodeEmitter(
       *getSubtargetImpl()->getInstrInfo(), MRI, *Ctx);
   MCAsmBackend *MAB = getTarget().createMCAsmBackend(MRI, getTargetTriple(),
@@ -250,7 +249,6 @@ bool LLVMTargetMachine::addPassesToEmitM
     return true;
 
   Triple T(getTargetTriple());
-  const MCSubtargetInfo &STI = getSubtarget<MCSubtargetInfo>();
   std::unique_ptr<MCStreamer> AsmStreamer(getTarget().createMCObjectStreamer(
       T, *Ctx, *MAB, Out, MCE, STI, Options.MCOptions.MCRelaxAll));
 

Modified: llvm/trunk/lib/Target/TargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetMachine.cpp?rev=232667&r1=232666&r2=232667&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/TargetMachine.cpp Wed Mar 18 15:41:44 2015
@@ -40,14 +40,12 @@ TargetMachine::TargetMachine(const Targe
                              StringRef TT, StringRef CPU, StringRef FS,
                              const TargetOptions &Options)
     : TheTarget(T), DL(DataLayoutString), TargetTriple(TT), TargetCPU(CPU),
-      TargetFS(FS), CodeGenInfo(nullptr), AsmInfo(nullptr), MII(nullptr),
-      MRI(nullptr), RequireStructuredCFG(false), Options(Options) {}
+      TargetFS(FS), CodeGenInfo(nullptr), AsmInfo(nullptr),
+      RequireStructuredCFG(false), Options(Options) {}
 
 TargetMachine::~TargetMachine() {
   delete CodeGenInfo;
   delete AsmInfo;
-  delete MII;
-  delete MRI;
 }
 
 /// \brief Reset the target options based on the function's attributes.





More information about the llvm-commits mailing list