diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp | 27 | ||||
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcV9CodeEmitter.h | 33 | 
2 files changed, 35 insertions, 25 deletions
| diff --git a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp index 4f779904779..1985da221a4 100644 --- a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp +++ b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp @@ -3,37 +3,14 @@  #include "llvm/CodeGen/MachineFunctionPass.h"  #include "llvm/CodeGen/MachineInstr.h"  #include "SparcInternals.h" - -namespace { -  class SparcV9CodeEmitter : public MachineFunctionPass { -    MachineCodeEmitter &MCE; - -  public: -    SparcV9CodeEmitter(MachineCodeEmitter &M) : MCE(M) {} -     -    bool runOnMachineFunction(MachineFunction &F); -     -  private:     -    int64_t getMachineOpValue(MachineOperand &MO); -    unsigned getValueBit(int64_t Val, unsigned bit); - -    void emitConstant(unsigned Val, unsigned Size); - -    void emitBasicBlock(MachineBasicBlock &MBB); -    void emitInstruction(MachineInstr &MI); -     -    /// Function generated by the CodeEmitterGenerator using TableGen -    /// -    unsigned getBinaryCodeForInstr(MachineInstr &MI); -  }; -} +#include "SparcV9CodeEmitter.h"  bool UltraSparc::addPassesToEmitMachineCode(PassManager &PM,                                              MachineCodeEmitter &MCE) {    //PM.add(new SparcV9CodeEmitter(MCE));    //MachineCodeEmitter *M = MachineCodeEmitter::createDebugMachineCodeEmitter();    MachineCodeEmitter *M =  -    MachineCodeEmitter::createFilePrinterMachineCodeEmitter(); +    MachineCodeEmitter::createFilePrinterMachineCodeEmitter(MCE);    PM.add(new SparcV9CodeEmitter(*M));    return false;  } diff --git a/llvm/lib/Target/Sparc/SparcV9CodeEmitter.h b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.h new file mode 100644 index 00000000000..ea1c8790eea --- /dev/null +++ b/llvm/lib/Target/Sparc/SparcV9CodeEmitter.h @@ -0,0 +1,33 @@ + + +#ifndef SPARCV9CODEEMITTER_H +#define SPARCV9CODEEMITTER_H + +#include "llvm/CodeGen/MachineCodeEmitter.h" +#include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/CodeGen/MachineInstr.h" + +class SparcV9CodeEmitter : public MachineFunctionPass { +  MachineCodeEmitter &MCE; + +public: +  SparcV9CodeEmitter(MachineCodeEmitter &M) : MCE(M) {} +     +  bool runOnMachineFunction(MachineFunction &F); +     +  /// Function generated by the CodeEmitterGenerator using TableGen +  /// +  static unsigned getBinaryCodeForInstr(MachineInstr &MI); + +private:     +  static int64_t getMachineOpValue(MachineOperand &MO); +  static unsigned getValueBit(int64_t Val, unsigned bit); + +  void emitConstant(unsigned Val, unsigned Size); + +  void emitBasicBlock(MachineBasicBlock &MBB); +  void emitInstruction(MachineInstr &MI); +     +}; + +#endif | 

