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

Andrew Lenharth alenhar2 at cs.uiuc.edu
Thu Aug 17 09:08:16 PDT 2006



Changes in directory llvm/lib/Target/X86:

X86ISelLowering.cpp updated: 1.246 -> 1.247
---
Log message:

Add the 'c' constraint as needed by the linux kernel

---
Diffs of the changes:  (+7 -2)

 X86ISelLowering.cpp |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/X86/X86ISelLowering.cpp
diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.246 llvm/lib/Target/X86/X86ISelLowering.cpp:1.247
--- llvm/lib/Target/X86/X86ISelLowering.cpp:1.246	Thu Aug 17 10:35:43 2006
+++ llvm/lib/Target/X86/X86ISelLowering.cpp	Thu Aug 17 11:07:50 2006
@@ -4186,6 +4186,7 @@
   case 'Y':
   case 'S':
   case 'D':
+  case 'c':
     return C_RegisterClass;
   default: return TargetLowering::getConstraintType(ConstraintLetter);
   }
@@ -4201,11 +4202,15 @@
     default: break;  // Unknown constraint letter
     case 'S':   // ESI
       if (VT == MVT::i32)
-	return make_vector<unsigned>(X86::ESI,0);
+        return make_vector<unsigned>(X86::ESI,0);
       break;
     case 'D':   // EDI
       if (VT == MVT::i32)
-	return make_vector<unsigned>(X86::EDI,0);
+        return make_vector<unsigned>(X86::EDI,0);
+      break;
+    case 'c':  // ECX
+      if (VT == MVT::i32)
+        return make_vector<unsigned>(X86::ECX, 0);
       break;
     case 'A':   // EAX/EDX
       if (VT == MVT::i32 || VT == MVT::i64)






More information about the llvm-commits mailing list