[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp

Misha Brukman brukman at cs.uiuc.edu
Wed Oct 13 23:07:36 PDT 2004



Changes in directory llvm/lib/Target/PowerPC:

PPC32CodeEmitter.cpp updated: 1.4 -> 1.5
---
Log message:

* Include the real (generated) version of getBinaryCodeForInstr()
* Add implementation of getMachineOpValue() for generated code emitter
* Convert assert()s in unimplemented functions to abort()s so that non-debug
  builds fail predictably
* Add file header comments


---
Diffs of the changes:  (+20 -10)

Index: llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp
diff -u llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp:1.4 llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp:1.5
--- llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp:1.4	Wed Sep  1 17:55:36 2004
+++ llvm/lib/Target/PowerPC/PPC32CodeEmitter.cpp	Thu Oct 14 01:07:25 2004
@@ -7,6 +7,8 @@
 // 
 //===----------------------------------------------------------------------===//
 // 
+// This file defines the PowerPC 32-bit CodeEmitter and associated machinery to
+// JIT-compile bytecode to native PowerPC.
 //
 //===----------------------------------------------------------------------===//
 
@@ -24,6 +26,8 @@
     TargetMachine &TM;
     MachineCodeEmitter &MCE;
 
+    int64_t getMachineOpValue(MachineInstr &MI, MachineOperand &MO);
+
   public:
     PPC32CodeEmitter(TargetMachine &T, MachineCodeEmitter &M) 
       : TM(T), MCE(M) {}
@@ -41,12 +45,14 @@
     /// emitWord - write a 32-bit word to memory at the current PC
     ///
     void emitWord(unsigned w) { MCE.emitWord(w); }
-
-    unsigned getValueBit(int64_t Val, unsigned bit);
+    
+    /// getValueBit - return the particular bit of Val
+    ///
+    unsigned getValueBit(int64_t Val, unsigned bit) { return (Val >> bit) & 1; }
 
     /// getBinaryCodeForInstr - returns the assembled code for an instruction
     ///
-    unsigned getBinaryCodeForInstr(MachineInstr &MI) { return 0; }
+    unsigned getBinaryCodeForInstr(MachineInstr &MI);
   };
 }
 
@@ -60,7 +66,7 @@
                                                     MachineCodeEmitter &MCE) {
   // Machine code emitter pass for PowerPC
   PM.add(new PPC32CodeEmitter(*this, MCE)); 
-  // Delete machine code for this function after emitting it:
+  // Delete machine code for this function after emitting it
   PM.add(createMachineCodeDeleter());
   // We don't yet support machine code emission
   return true;
@@ -80,22 +86,26 @@
     emitWord(getBinaryCodeForInstr(*I));
 }
 
-unsigned PPC32CodeEmitter::getValueBit(int64_t Val, unsigned bit) {
-  Val >>= bit;
-  return (Val & 1);
+int64_t PPC32CodeEmitter::getMachineOpValue(MachineInstr &MI, 
+                                            MachineOperand &MO) {
+  abort();
+  return 0;
 }
 
+
 void *PPC32JITInfo::getJITStubForFunction(Function *F,
                                           MachineCodeEmitter &MCE) {
-  assert (0 && "PPC32JITInfo::getJITStubForFunction not implemented");
+  std::cerr << "PPC32JITInfo::getJITStubForFunction not implemented\n";
+  abort();
   return 0;
 }
 
 void PPC32JITInfo::replaceMachineCodeForFunction (void *Old, void *New) {
-  assert (0 && "PPC32JITInfo::replaceMachineCodeForFunction not implemented");
+  std::cerr << "PPC32JITInfo::replaceMachineCodeForFunction not implemented\n";
+  abort();
 }
 
-//#include "PowerPCGenCodeEmitter.inc"
+#include "PPC32GenCodeEmitter.inc"
 
 } // end llvm namespace
 






More information about the llvm-commits mailing list