aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86CodeEmitter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-28 18:19:37 +0000
committerChris Lattner <sabre@nondot.org>2006-01-28 18:19:37 +0000
commitdabbc983966594a004b99c257fe2a776bef0bd18 (patch)
tree746ab976ee69547be0839fc8f75eea9d1df3c261 /lib/Target/X86/X86CodeEmitter.cpp
parent41adb0d679416397b4c8153ad55f75453107bc8d (diff)
Fix a bunch of JIT failures with the new isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25748 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CodeEmitter.cpp')
-rw-r--r--lib/Target/X86/X86CodeEmitter.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/Target/X86/X86CodeEmitter.cpp b/lib/Target/X86/X86CodeEmitter.cpp
index d9ca7d9458..465e66095e 100644
--- a/lib/Target/X86/X86CodeEmitter.cpp
+++ b/lib/Target/X86/X86CodeEmitter.cpp
@@ -394,10 +394,21 @@ void Emitter::emitInstruction(const MachineInstr &MI) {
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: