[llvm-commits] CVS: llvm/lib/Target/X86/X86CodeEmitter.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Jan 28 10:19:58 PST 2006



Changes in directory llvm/lib/Target/X86:

X86CodeEmitter.cpp updated: 1.85 -> 1.86
---
Log message:

Fix a bunch of JIT failures with the new isel


---
Diffs of the changes:  (+15 -4)

 X86CodeEmitter.cpp |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/X86/X86CodeEmitter.cpp
diff -u llvm/lib/Target/X86/X86CodeEmitter.cpp:1.85 llvm/lib/Target/X86/X86CodeEmitter.cpp:1.86
--- llvm/lib/Target/X86/X86CodeEmitter.cpp:1.85	Fri Jan 27 12:27:18 2006
+++ llvm/lib/Target/X86/X86CodeEmitter.cpp	Sat Jan 28 12:19:37 2006
@@ -394,10 +394,21 @@
   switch (Desc.TSFlags & X86II::FormMask) {
   default: assert(0 && "Unknown FormMask value in X86 MachineCodeEmitter!");
   case X86II::Pseudo:
-    if (Opcode != X86::IMPLICIT_USE &&
-        Opcode != X86::IMPLICIT_DEF &&
-        Opcode != X86::FP_REG_KILL)
-      std::cerr << "X86 Machine Code Emitter: No 'form', not emitting: " << MI;
+#ifndef NDEBUG
+    switch (Opcode) {
+    default: 
+      assert(0 && "psuedo instructions should be removed before code emission");
+    case X86::IMPLICIT_USE:
+    case X86::IMPLICIT_DEF:
+    case X86::IMPLICIT_DEF_R8:
+    case X86::IMPLICIT_DEF_R16:
+    case X86::IMPLICIT_DEF_R32:
+    case X86::IMPLICIT_DEF_FR32:
+    case X86::IMPLICIT_DEF_FR64:
+    case X86::FP_REG_KILL:
+      break;
+    }
+#endif
     break;
 
   case X86II::RawFrm:






More information about the llvm-commits mailing list