Propagate LeftDistributes and RightDistributes into their only uses.
authorDuncan Sands <baldrick@free.fr>
Tue, 23 Nov 2010 15:28:14 +0000 (15:28 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 23 Nov 2010 15:28:14 +0000 (15:28 +0000)
Stylistic improvement suggested by Frits van Bommel.

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

lib/Transforms/InstCombine/InstructionCombining.cpp

index 9a203f8512e4f51d82337cf8ae5edeffa8197b87..22651e30f38a2507d8130b82901886c3285b7b7b 100644 (file)
@@ -304,14 +304,11 @@ Instruction *InstCombiner::SimplifyDistributed(BinaryOperator &I) {
   Instruction::BinaryOps OuterOpcode = I.getOpcode(); // op
   Instruction::BinaryOps InnerOpcode = Op0->getOpcode(); // op'
 
-  // Does "X op' (Y op Z)" always equal "(X op' Y) op (X op' Z)"?
-  bool LeftDistributes = LeftDistributesOverRight(InnerOpcode, OuterOpcode);
-  // Does "(X op Y) op' Z" always equal "(X op' Z) op (Y op' Z)"?
-  bool RightDistributes = RightDistributesOverLeft(OuterOpcode, InnerOpcode);
   // Does "X op' Y" always equal "Y op' X"?
   bool InnerCommutative = Instruction::isCommutative(InnerOpcode);
 
-  if (LeftDistributes)
+  // Does "X op' (Y op Z)" always equal "(X op' Y) op (X op' Z)"?
+  if (LeftDistributesOverRight(InnerOpcode, OuterOpcode))
     // Does the instruction have the form "(A op' B) op (A op' D)" or, in the
     // commutative case, "(A op' B) op (C op' A)"?
     if (A == C || (InnerCommutative && A == D)) {
@@ -328,7 +325,8 @@ Instruction *InstCombiner::SimplifyDistributed(BinaryOperator &I) {
         return BinaryOperator::Create(InnerOpcode, A, RHS);
     }
 
-  if (RightDistributes)
+  // Does "(X op Y) op' Z" always equal "(X op' Z) op (Y op' Z)"?
+  if (RightDistributesOverLeft(OuterOpcode, InnerOpcode))
     // Does the instruction have the form "(A op' B) op (C op' B)" or, in the
     // commutative case, "(A op' B) op (B op' D)"?
     if (B == D || (InnerCommutative && B == C)) {