[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

Chris Lattner lattner at cs.uiuc.edu
Wed May 11 11:35:40 PDT 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.103 -> 1.104
---
Log message:

Make sure to legalize generated ctpop nodes, convert tabs to spaces


---
Diffs of the changes:  (+18 -18)

 LegalizeDAG.cpp |   36 ++++++++++++++++++------------------
 1 files changed, 18 insertions(+), 18 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.103 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.104
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.103	Wed May 11 03:45:08 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp	Wed May 11 13:35:21 2005
@@ -1134,15 +1134,15 @@
       }
       case ISD::CTLZ: {
         /* for now, we do this:
-        x = x | (x >> 1);
-        x = x | (x >> 2);
-        ...
-        x = x | (x >>16);
-        x = x | (x >>32); // for 64-bit input 
-        return popcount(~x);
+           x = x | (x >> 1);
+           x = x | (x >> 2);
+           ...
+           x = x | (x >>16);
+           x = x | (x >>32); // for 64-bit input 
+           return popcount(~x);
         
-	but see also: http://www.hackersdelight.org/HDcode/nlz.cc */
-	MVT::ValueType VT = Tmp1.getValueType();
+           but see also: http://www.hackersdelight.org/HDcode/nlz.cc */
+        MVT::ValueType VT = Tmp1.getValueType();
         MVT::ValueType ShVT = TLI.getShiftAmountTy();
         unsigned len = getSizeInBits(VT);
         for (unsigned i = 0; (1U << i) <= (len / 2); ++i) {
@@ -1151,19 +1151,19 @@
                              DAG.getNode(ISD::SRL, VT, Tmp1, Tmp3));
         }
         Tmp3 = DAG.getNode(ISD::XOR, VT, Tmp1, DAG.getConstant(~0ULL, VT));
-	Result = DAG.getNode(ISD::CTPOP, VT, Tmp3);
+        Result = LegalizeOp(DAG.getNode(ISD::CTPOP, VT, Tmp3));
         break;
       }
       case ISD::CTTZ: {
-	// for now, we use: { return popcount(~x & (x - 1)); }
-        // but see also http://www.hackersdelight.org/HDcode/ntz.cc )
-	MVT::ValueType VT = Tmp1.getValueType();
-	Tmp2 = DAG.getConstant(~0ULL, VT);
-	Tmp3 = DAG.getNode(ISD::AND, VT, 
-                             DAG.getNode(ISD::XOR, VT, Tmp1, Tmp2),
-                             DAG.getNode(ISD::SUB, VT, Tmp1,
-			                           DAG.getConstant(1, VT)));
-	Result = DAG.getNode(ISD::CTPOP, VT, Tmp3);
+        // for now, we use: { return popcount(~x & (x - 1)); }
+        // but see also http://www.hackersdelight.org/HDcode/ntz.cc
+        MVT::ValueType VT = Tmp1.getValueType();
+        Tmp2 = DAG.getConstant(~0ULL, VT);
+        Tmp3 = DAG.getNode(ISD::AND, VT, 
+                           DAG.getNode(ISD::XOR, VT, Tmp1, Tmp2),
+                           DAG.getNode(ISD::SUB, VT, Tmp1,
+                                       DAG.getConstant(1, VT)));
+        Result = LegalizeOp(DAG.getNode(ISD::CTPOP, VT, Tmp3));
         break;
       }
       default:






More information about the llvm-commits mailing list