fix a layering problem by moving the x86 implementation
[oota-llvm.git] / lib / Target / ARM / AsmPrinter / ARMMCInstLower.h
index 67fe79cf83a190b85d6f4025b5d0e1db2f929e14..b81a30690ce2471cdbe1711c76b234de40d97584 100644 (file)
@@ -13,6 +13,8 @@
 #include "llvm/Support/Compiler.h"
 
 namespace llvm {
+  class AsmPrinter;
+  class MCAsmInfo;
   class MCContext;
   class MCInst;
   class MCOperand;
@@ -24,26 +26,26 @@ namespace llvm {
   //class ARMSubtarget;
   
 /// ARMMCInstLower - This class is used to lower an MachineInstr into an MCInst.
-class VISIBILITY_HIDDEN ARMMCInstLower {
+class LLVM_LIBRARY_VISIBILITY ARMMCInstLower {
   MCContext &Ctx;
-  Mangler *Mang;
+  Mangler &Mang;
+  AsmPrinter &Printer;
 
   //const ARMSubtarget &getSubtarget() const;
 public:
-  ARMMCInstLower(MCContext &ctx, Mangler *mang)
-    : Ctx(ctx), Mang(mang) {}
+  ARMMCInstLower(MCContext &ctx, Mangler &mang, AsmPrinter &printer)
+    : Ctx(ctx), Mang(mang), Printer(printer) {}
   
   void Lower(const MachineInstr *MI, MCInst &OutMI) const;
 
-/*
- MCSymbol *GetPICBaseSymbol() const;
-  
+  //MCSymbol *GetPICBaseSymbol() const;
   MCSymbol *GetGlobalAddressSymbol(const MachineOperand &MO) const;
   MCSymbol *GetExternalSymbolSymbol(const MachineOperand &MO) const;
   MCSymbol *GetJumpTableSymbol(const MachineOperand &MO) const;
   MCSymbol *GetConstantPoolIndexSymbol(const MachineOperand &MO) const;
   MCOperand LowerSymbolOperand(const MachineOperand &MO, MCSymbol *Sym) const;
   
+/*
 private:
   MachineModuleInfoMachO &getMachOMMI() const;
  */