[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9CodeEmitter.h SparcV9CodeEmitter.cpp

Misha Brukman brukman at cs.uiuc.edu
Tue May 27 16:46:01 PDT 2003


Changes in directory llvm/lib/Target/Sparc:

SparcV9CodeEmitter.h added (r1.1)
SparcV9CodeEmitter.cpp updated: 1.1 -> 1.2

---
Log message:

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.


---
Diffs of the changes:

Index: llvm/lib/Target/Sparc/SparcV9CodeEmitter.h
diff -c /dev/null llvm/lib/Target/Sparc/SparcV9CodeEmitter.h:1.1
*** /dev/null	Tue May 27 16:45:15 2003
--- llvm/lib/Target/Sparc/SparcV9CodeEmitter.h	Tue May 27 16:45:05 2003
***************
*** 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


Index: llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp
diff -u llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.1 llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.2
--- llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp:1.1	Tue May 27 15:07:58 2003
+++ llvm/lib/Target/Sparc/SparcV9CodeEmitter.cpp	Tue May 27 16:45:05 2003
@@ -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;
 }





More information about the llvm-commits mailing list