[llvm-commits] [llvm] r122214 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Chris Lattner sabre at nondot.org
Sun Dec 19 17:03:27 PST 2010


Author: lattner
Date: Sun Dec 19 19:03:27 2010
New Revision: 122214

URL: http://llvm.org/viewvc/llvm-project?rev=122214&view=rev
Log:
use for loop over types.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=122214&r1=122213&r2=122214&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sun Dec 19 19:03:27 2010
@@ -132,26 +132,6 @@
 
   setLoadExtAction(ISD::SEXTLOAD, MVT::i1, Promote);
 
-    setOperationAction(ISD::ADDC, MVT::i8, Custom);
-    setOperationAction(ISD::ADDC, MVT::i16, Custom);
-    setOperationAction(ISD::ADDC, MVT::i32, Custom);
-    setOperationAction(ISD::ADDC, MVT::i64, Custom);
-    
-    setOperationAction(ISD::ADDE, MVT::i8, Custom);
-    setOperationAction(ISD::ADDE, MVT::i16, Custom);
-    setOperationAction(ISD::ADDE, MVT::i32, Custom);
-    setOperationAction(ISD::ADDE, MVT::i64, Custom);
-
-    setOperationAction(ISD::SUBC, MVT::i8, Custom);
-    setOperationAction(ISD::SUBC, MVT::i16, Custom);
-    setOperationAction(ISD::SUBC, MVT::i32, Custom);
-    setOperationAction(ISD::SUBC, MVT::i64, Custom);
-    
-    setOperationAction(ISD::SUBE, MVT::i8, Custom);
-    setOperationAction(ISD::SUBE, MVT::i16, Custom);
-    setOperationAction(ISD::SUBE, MVT::i32, Custom);
-    setOperationAction(ISD::SUBE, MVT::i64, Custom);
-    
   // We don't accept any truncstore of integer registers.
   setTruncStoreAction(MVT::i64, MVT::i32, Expand);
   setTruncStoreAction(MVT::i64, MVT::i16, Expand);
@@ -275,6 +255,12 @@
     setOperationAction(ISD::UDIV, VT, Expand);
     setOperationAction(ISD::SREM, VT, Expand);
     setOperationAction(ISD::UREM, VT, Expand);
+    
+    // Add/Sub overflow ops with MVT::Flags are lowered to EFLAGS dependences.
+    setOperationAction(ISD::ADDC, VT, Custom);
+    setOperationAction(ISD::ADDE, VT, Custom);
+    setOperationAction(ISD::SUBC, VT, Custom);
+    setOperationAction(ISD::SUBE, VT, Custom);
   }
 
   setOperationAction(ISD::BR_JT            , MVT::Other, Expand);





More information about the llvm-commits mailing list