fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.
authorChris Lattner <sabre@nondot.org>
Wed, 10 Feb 2010 01:23:18 +0000 (01:23 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 10 Feb 2010 01:23:18 +0000 (01:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/AsmPrinter.h
include/llvm/CodeGen/MachineInstr.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/VirtRegRewriter.cpp

index c85e6678cf9a4a50517edb224dbd5c20aeb8f9ed..3c4dcb557d8f56f1daa043a0280f89067e3359bc 100644 (file)
@@ -80,13 +80,6 @@ namespace llvm {
     DwarfWriter *DW;
 
   public:
-    /// Flags to specify different kinds of comments to output in
-    /// assembly code.  These flags carry semantic information not
-    /// otherwise easily derivable from the IR text.
-    ///
-    enum CommentFlag {
-      ReloadReuse = 0x1
-    };
 
     /// Output stream on which we're printing assembly code.
     ///
index 51abcc21696ce5320e38fc7b6beec60325ab1d27..1b2de76006f0efe2667afea58f274505e5ad5b54 100644 (file)
@@ -41,6 +41,14 @@ class MachineInstr : public ilist_node<MachineInstr> {
 public:
   typedef MachineMemOperand **mmo_iterator;
 
+  /// Flags to specify different kinds of comments to output in
+  /// assembly code.  These flags carry semantic information not
+  /// otherwise easily derivable from the IR text.
+  ///
+  enum CommentFlag {
+    ReloadReuse = 0x1
+  };
+  
 private:
   const TargetInstrDesc *TID;           // Instruction descriptor.
   unsigned short NumImplicitOps;        // Number of implicit operands (which
@@ -121,14 +129,14 @@ public:
 
   /// getAsmPrinterFlag - Return whether an AsmPrinter flag is set.
   ///
-  bool getAsmPrinterFlag(unsigned Flag) const {
+  bool getAsmPrinterFlag(CommentFlag Flag) const {
     return AsmPrinterFlags & Flag;
   }
 
   /// setAsmPrinterFlag - Set a flag for the AsmPrinter.
   ///
-  void setAsmPrinterFlag(unsigned short Flag) {
-    AsmPrinterFlags |= Flag;
+  void setAsmPrinterFlag(CommentFlag Flag) {
+    AsmPrinterFlags |= (unsigned short)Flag;
   }
 
   /// getDebugLoc - Returns the debug location id of this MachineInstr.
index fe9685724765871f3817c56e76d0751af90b85bf..9042147afb47677970eae2bf781ac08a1120dfdf 100644 (file)
@@ -375,7 +375,7 @@ static void EmitComments(const MachineInstr &MI, raw_ostream &CommentOS) {
   unsigned SrcReg, DstReg, SrcSubIdx, DstSubIdx;
   if (TM.getInstrInfo()->isMoveInstr(MI, SrcReg, DstReg,
                                      SrcSubIdx, DstSubIdx)) {
-    if (MI.getAsmPrinterFlag(AsmPrinter::ReloadReuse))
+    if (MI.getAsmPrinterFlag(MachineInstr::ReloadReuse))
       CommentOS << " Reload Reuse\n";
   }
 }
index dd0714976720b335cff4c9add9c04a3ac006138d..ce625948424197c003104a1505f31a90fb55e988 100644 (file)
@@ -10,7 +10,6 @@
 #define DEBUG_TYPE "virtregrewriter"
 #include "VirtRegRewriter.h"
 #include "llvm/Function.h"
-#include "llvm/CodeGen/AsmPrinter.h"  // FIXME: Layering!
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineRegisterInfo.h"
@@ -1760,7 +1759,7 @@ private:
 
             // Mark is killed.
             MachineInstr *CopyMI = prior(InsertLoc);
-            CopyMI->setAsmPrinterFlag(AsmPrinter::ReloadReuse);
+            CopyMI->setAsmPrinterFlag(MachineInstr::ReloadReuse);
             MachineOperand *KillOpnd = CopyMI->findRegisterUseOperand(InReg);
             KillOpnd->setIsKill();
             UpdateKills(*CopyMI, TRI, RegKills, KillOps);
@@ -2038,7 +2037,7 @@ private:
           TII->copyRegToReg(MBB, InsertLoc, DesignatedReg, PhysReg, RC, RC);
 
           MachineInstr *CopyMI = prior(InsertLoc);
-          CopyMI->setAsmPrinterFlag(AsmPrinter::ReloadReuse);
+          CopyMI->setAsmPrinterFlag(MachineInstr::ReloadReuse);
           UpdateKills(*CopyMI, TRI, RegKills, KillOps);
 
           // This invalidates DesignatedReg.
@@ -2167,7 +2166,7 @@ private:
                 // virtual or needing to clobber any values if it's physical).
                 NextMII = &MI;
                 --NextMII;  // backtrack to the copy.
-                NextMII->setAsmPrinterFlag(AsmPrinter::ReloadReuse);
+                NextMII->setAsmPrinterFlag(MachineInstr::ReloadReuse);
                 // Propagate the sub-register index over.
                 if (SubIdx) {
                   DefMO = NextMII->findRegisterDefOperand(DestReg);