diff options
author | Chris Lattner <sabre@nondot.org> | 2010-07-19 23:44:46 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-07-19 23:44:46 +0000 |
commit | b792b463afd6884554b9397bdf54743099dea7c5 (patch) | |
tree | d6158cfa1c28b0426412f5ae1ddbeb0e9af13e27 /llvm/lib/Target/ARM/ARMMCInstLower.h | |
parent | 64fffadad3cfec0fa529f591ccfd9dfeb8bdeb31 (diff) | |
download | bcm5719-llvm-b792b463afd6884554b9397bdf54743099dea7c5.tar.gz bcm5719-llvm-b792b463afd6884554b9397bdf54743099dea7c5.zip |
sink the arm implementations of ASmPrinter and MCInstLower
out of the AsmPrinter directory into libarm. Now the
ARM InstPrinters depend jsut on the MC stuff, not on vmcore
or codegen.
llvm-svn: 108783
Diffstat (limited to 'llvm/lib/Target/ARM/ARMMCInstLower.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMMCInstLower.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMMCInstLower.h b/llvm/lib/Target/ARM/ARMMCInstLower.h new file mode 100644 index 00000000000..b81a30690ce --- /dev/null +++ b/llvm/lib/Target/ARM/ARMMCInstLower.h @@ -0,0 +1,56 @@ +//===-- ARMMCInstLower.h - Lower MachineInstr to MCInst -------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef ARM_MCINSTLOWER_H +#define ARM_MCINSTLOWER_H + +#include "llvm/Support/Compiler.h" + +namespace llvm { + class AsmPrinter; + class MCAsmInfo; + class MCContext; + class MCInst; + class MCOperand; + class MCSymbol; + class MachineInstr; + class MachineModuleInfoMachO; + class MachineOperand; + class Mangler; + //class ARMSubtarget; + +/// ARMMCInstLower - This class is used to lower an MachineInstr into an MCInst. +class LLVM_LIBRARY_VISIBILITY ARMMCInstLower { + MCContext &Ctx; + Mangler &Mang; + AsmPrinter &Printer; + + //const ARMSubtarget &getSubtarget() const; +public: + 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 *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; + */ +}; + +} + +#endif |