Do not select the operands being passed into SelectCC. IT does this itself
authorChris Lattner <sabre@nondot.org>
Thu, 1 Sep 2005 19:20:44 +0000 (19:20 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 1 Sep 2005 19:20:44 +0000 (19:20 +0000)
and selecting early prevents folding immediates into the cmpw* instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23188 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index 082c876859b58c5584cc02504549ad70511daa53..d8d070059839947fc8b044945fd91506c64673d7 100644 (file)
@@ -1344,8 +1344,7 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
     
     bool Inv;
     unsigned Idx = getCRIdxForSetCC(CC, Inv);
-    SDOperand CCReg =
-      SelectCC(Select(N->getOperand(0)), Select(N->getOperand(1)), CC);
+    SDOperand CCReg = SelectCC(N->getOperand(0), N->getOperand(1), CC);
     SDOperand IntCR;
 
     // Force the ccreg into CR7.
@@ -1396,8 +1395,7 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
             break;
           }
 
-    SDOperand CCReg = SelectCC(Select(N->getOperand(0)),
-                               Select(N->getOperand(1)), CC);
+    SDOperand CCReg = SelectCC(N->getOperand(0), N->getOperand(1), CC);
     unsigned BROpc = getBCCForSetCC(CC);
 
     bool isFP = MVT::isFloatingPoint(N->getValueType(0));