diff options
| author | Misha Brukman <brukman+llvm@gmail.com> | 2003-05-27 21:45:05 +0000 |
|---|---|---|
| committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-05-27 21:45:05 +0000 |
| commit | e195b7c0fcd39fbd1f52d80ad23048d25e5fc652 (patch) | |
| tree | fe4f58f4b747c8e0ac5c98c2251f8d081b6b3305 /llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp | |
| parent | d10f1b56c6ec09585fad3f6d2a1110478ebb5349 (diff) | |
| download | bcm5719-llvm-e195b7c0fcd39fbd1f52d80ad23048d25e5fc652.tar.gz bcm5719-llvm-e195b7c0fcd39fbd1f52d80ad23048d25e5fc652.zip | |
Broke out class definition from SparcV9CodeEmitter, and added ability to take a
MachineCodeEmitter to make a pass-through debugger -- output to memory and to
std::cerr.
llvm-svn: 6363
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp | 27 |
1 files changed, 2 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; } |

