diff options
author | Stephen Hines <srhines@google.com> | 2014-04-23 16:57:46 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-04-24 15:53:16 -0700 |
commit | 36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch) | |
tree | e6cfb69fbbd937f450eeb83bfb83b9da3b01275a /lib/Target/X86/X86AsmPrinter.h | |
parent | 69a8640022b04415ae9fac62f8ab090601d8f889 (diff) | |
download | external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2 |
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'lib/Target/X86/X86AsmPrinter.h')
-rw-r--r-- | lib/Target/X86/X86AsmPrinter.h | 59 |
1 files changed, 14 insertions, 45 deletions
diff --git a/lib/Target/X86/X86AsmPrinter.h b/lib/Target/X86/X86AsmPrinter.h index 24a768b..3308cc2 100644 --- a/lib/Target/X86/X86AsmPrinter.h +++ b/lib/Target/X86/X86AsmPrinter.h @@ -10,14 +10,10 @@ #ifndef X86ASMPRINTER_H #define X86ASMPRINTER_H -#include "X86.h" -#include "X86MachineFunctionInfo.h" -#include "X86TargetMachine.h" +#include "X86Subtarget.h" #include "llvm/CodeGen/AsmPrinter.h" -#include "llvm/CodeGen/MachineModuleInfo.h" -#include "llvm/CodeGen/ValueTypes.h" #include "llvm/CodeGen/StackMaps.h" -#include "llvm/Support/Compiler.h" +#include "llvm/Target/TargetMachine.h" namespace llvm { @@ -27,59 +23,32 @@ class LLVM_LIBRARY_VISIBILITY X86AsmPrinter : public AsmPrinter { const X86Subtarget *Subtarget; StackMaps SM; - // Parses operands of PATCHPOINT and STACKMAP to produce stack map Location - // structures. Returns a result location and an iterator to the operand - // immediately following the operands consumed. - // - // This method is implemented in X86MCInstLower.cpp. - static std::pair<StackMaps::Location, MachineInstr::const_mop_iterator> - stackmapOperandParser(MachineInstr::const_mop_iterator MOI, - MachineInstr::const_mop_iterator MOE, - const TargetMachine &TM); - public: explicit X86AsmPrinter(TargetMachine &TM, MCStreamer &Streamer) - : AsmPrinter(TM, Streamer), SM(*this, stackmapOperandParser) { + : AsmPrinter(TM, Streamer), SM(*this) { Subtarget = &TM.getSubtarget<X86Subtarget>(); } - virtual const char *getPassName() const LLVM_OVERRIDE { + const char *getPassName() const override { return "X86 Assembly / Object Emitter"; } const X86Subtarget &getSubtarget() const { return *Subtarget; } - virtual void EmitStartOfAsmFile(Module &M) LLVM_OVERRIDE; - - virtual void EmitEndOfAsmFile(Module &M) LLVM_OVERRIDE; - - virtual void EmitInstruction(const MachineInstr *MI) LLVM_OVERRIDE; - - void printSymbolOperand(const MachineOperand &MO, raw_ostream &O); - - // These methods are used by the tablegen'erated instruction printer. - void printOperand(const MachineInstr *MI, unsigned OpNo, raw_ostream &O, - const char *Modifier = 0, unsigned AsmVariant = 0); - void printPCRelImm(const MachineInstr *MI, unsigned OpNo, raw_ostream &O); + void EmitStartOfAsmFile(Module &M) override; - bool printAsmMRegister(const MachineOperand &MO, char Mode, raw_ostream &O); - virtual bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, - unsigned AsmVariant, const char *ExtraCode, - raw_ostream &OS) LLVM_OVERRIDE; - virtual bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, - unsigned AsmVariant, const char *ExtraCode, - raw_ostream &OS) LLVM_OVERRIDE; + void EmitEndOfAsmFile(Module &M) override; - void printMemReference(const MachineInstr *MI, unsigned Op, raw_ostream &O, - const char *Modifier=NULL); - void printLeaMemReference(const MachineInstr *MI, unsigned Op, raw_ostream &O, - const char *Modifier=NULL); + void EmitInstruction(const MachineInstr *MI) override; - void printIntelMemReference(const MachineInstr *MI, unsigned Op, - raw_ostream &O, const char *Modifier=NULL, - unsigned AsmVariant = 1); + bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, + unsigned AsmVariant, const char *ExtraCode, + raw_ostream &OS) override; + bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo, + unsigned AsmVariant, const char *ExtraCode, + raw_ostream &OS) override; - virtual bool runOnMachineFunction(MachineFunction &F) LLVM_OVERRIDE; + bool runOnMachineFunction(MachineFunction &F) override; }; } // end namespace llvm |