OSDN Git Service

reduce indentation, (~XorCST->getValue()).isSignBit() -> isMaxSignedValue()
authorChris Lattner <sabre@nondot.org>
Mon, 2 Feb 2009 07:15:30 +0000 (07:15 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 2 Feb 2009 07:15:30 +0000 (07:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63500 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/InstructionCombining.cpp

index a1cb3dc..77a7d93 100644 (file)
@@ -6101,27 +6101,26 @@ Instruction *InstCombiner::visitICmpInst(ICmpInst &I) {
         case Instruction::Add:
         case Instruction::Sub:
         case Instruction::Xor:
-          if (I.isEquality()) {
-            // a+x icmp eq/ne b+x --> a icmp b
+          if (I.isEquality())    // a+x icmp eq/ne b+x --> a icmp b
             return new ICmpInst(I.getPredicate(), Op0I->getOperand(0),
                                 Op1I->getOperand(0));
-          } else {
-            // icmp u/s (a ^ signbit), (b ^ signbit) --> icmp s/u a, b
-            if (ConstantInt *CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) {
-              if (CI->getValue().isSignBit()) {
-                ICmpInst::Predicate Pred = I.isSignedPredicate()
-                                               ? I.getUnsignedPredicate()
-                                               : I.getSignedPredicate();
-                return new ICmpInst(Pred, Op0I->getOperand(0),
-                                    Op1I->getOperand(0));
-              } else if ((~CI->getValue()).isSignBit()) {
-                ICmpInst::Predicate Pred = I.isSignedPredicate()
-                                               ? I.getUnsignedPredicate()
-                                               : I.getSignedPredicate();
-                Pred = I.getSwappedPredicate(Pred);
-                return new ICmpInst(Pred, Op0I->getOperand(0),
-                                    Op1I->getOperand(0));
-              }
+          // icmp u/s (a ^ signbit), (b ^ signbit) --> icmp s/u a, b
+          if (ConstantInt *CI = dyn_cast<ConstantInt>(Op0I->getOperand(1))) {
+            if (CI->getValue().isSignBit()) {
+              ICmpInst::Predicate Pred = I.isSignedPredicate()
+                                             ? I.getUnsignedPredicate()
+                                             : I.getSignedPredicate();
+              return new ICmpInst(Pred, Op0I->getOperand(0),
+                                  Op1I->getOperand(0));
+            }
+            
+            if (CI->getValue().isMaxSignedValue()) {
+              ICmpInst::Predicate Pred = I.isSignedPredicate()
+                                             ? I.getUnsignedPredicate()
+                                             : I.getSignedPredicate();
+              Pred = I.getSwappedPredicate(Pred);
+              return new ICmpInst(Pred, Op0I->getOperand(0),
+                                  Op1I->getOperand(0));
             }
           }
           break;
@@ -6460,7 +6459,7 @@ Instruction *InstCombiner::visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
         }
 
         // (icmp u/s (xor A ~SignBit), C) -> (icmp s/u (xor C ~SignBit), A)
-        if (!ICI.isEquality() && (~XorCST->getValue()).isSignBit()) {
+        if (!ICI.isEquality() && XorCST->getValue().isMaxSignedValue()) {
           const APInt &NotSignBit = XorCST->getValue();
           ICmpInst::Predicate Pred = ICI.isSignedPredicate()
                                          ? ICI.getUnsignedPredicate()