Convert 'A && (!A || B)' to 'A || B' in various places.
authorNick Clifton <nickc@redhat.com>
Tue, 11 Aug 2015 08:49:18 +0000 (09:49 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 11 Aug 2015 08:49:18 +0000 (09:49 +0100)
PR gas/18574
* config/tc-msp430.c (msp430_operands): Rewrite if statements to
remove redundant checks.
(md_apply_fix): Likewise.

gas/ChangeLog
gas/config/tc-msp430.c

index fb462dc10f4a33d069f9430c54f4f357e8df1b17..2e5aa4fdcfe6f026bd49739f1d3df656186aa6b1 100644 (file)
@@ -1,5 +1,10 @@
 2015-08-11  Nick Clifton  <nickc@redhat.com>
 
+       PR gas/18574
+       * config/tc-msp430.c (msp430_operands): Rewrite if statements to
+       remove redundant checks.
+       (md_apply_fix): Likewise.
+
        PR gas/18677
        * config/tc-mmix.c (md_assemble): Fix typo checking operands with
        a numeric constant value.
index 530774698f81f827626411af6a1eaa45d1e7b891..17c5fbe3d2f11e52ace6ccbd6172c35d75e3279d 100644 (file)
@@ -2069,7 +2069,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
                  if (op1.exp.X_op == O_constant)
                    extended |= ((op1.exp.X_add_number >> 16) & 0xf) << 7;
 
-                 else if (op1.reg || (op1.reg == 0 && op1.am == 3))    /* Not PC relative.  */
+                 else if (op1.reg || op1.am == 3)      /* Not PC relative.  */
                    fix_new_exp (frag_now, where, 6, &(op1.exp), FALSE,
                                 BFD_RELOC_MSP430X_ABS20_EXT_SRC);
                  else
@@ -2155,7 +2155,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
                  if (op1.exp.X_op == O_constant)
                    extended |= ((op1.exp.X_add_number >> 16) & 0xf) << 7;
 
-                 else if (op1.reg || (op1.reg == 0 && op1.am == 3))    /* Not PC relative.  */
+                 else if (op1.reg || op1.am == 3)      /* Not PC relative.  */
                    fix_new_exp (frag_now, where, 6, &(op1.exp), FALSE,
                                 BFD_RELOC_MSP430X_ABS20_EXT_SRC);
                  else
@@ -2201,7 +2201,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 
                  if (!extended_op)
                    {
-                     if (op1.reg || (op1.reg == 0 && op1.am == 3))     /* Not PC relative.  */
+                     if (op1.reg || op1.am == 3)       /* Not PC relative.  */
                        fix_new_exp (frag_now, where, 2,
                                     &(op1.exp), FALSE, CHECK_RELOC_MSP430 (op1));
                      else
@@ -2271,7 +2271,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 
                  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
 
-                 if (op1.reg || (op1.reg == 0 && op1.am == 3))
+                 if (op1.reg || op1.am == 3)
                    fix_new_exp (frag_now, where, 2,
                                 &(op1.exp), FALSE, CHECK_RELOC_MSP430 (op1));
                  else
@@ -2799,7 +2799,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
              if (op1.exp.X_op == O_constant)
                extended |= ((op1.exp.X_add_number >> 16) & 0xf) << 7;
 
-             else  if (op1.reg || (op1.reg == 0 && op1.am == 3))       /* Not PC relative.  */
+             else  if (op1.reg || op1.am == 3) /* Not PC relative.  */
                fix_new_exp (frag_now, where, 6, &(op1.exp), FALSE,
                             BFD_RELOC_MSP430X_ABS20_EXT_SRC);
              else
@@ -2845,7 +2845,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 
              if (!extended_op)
                {
-                 if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative.  */
+                 if (op1.reg || op1.am == 3)   /* Not PC relative.  */
                    fix_new_exp (frag_now, where, 2,
                                 &(op1.exp), FALSE, CHECK_RELOC_MSP430 (op1));
                  else
@@ -2947,7 +2947,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
              if (op1.exp.X_op == O_constant)
                extended |= ((op1.exp.X_add_number >> 16) & 0xf) << 7;
 
-             else if (op1.reg || (op1.reg == 0 && op1.am == 3))        /* Not PC relative.  */
+             else if (op1.reg || op1.am == 3)  /* Not PC relative.  */
                fix_new_exp (frag_now, where, 6, &(op1.exp), FALSE,
                             BFD_RELOC_MSP430X_ABS20_EXT_SRC);
              else
@@ -2978,7 +2978,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 
              if (!extended_op)
                {
-                 if (op1.reg || (op1.reg == 0 && op1.am == 3)) /* Not PC relative.  */
+                 if (op1.reg || op1.am == 3)   /* Not PC relative.  */
                    fix_new_exp (frag_now, where, 2,
                                 &(op1.exp), FALSE, CHECK_RELOC_MSP430 (op1));
                  else
@@ -3323,8 +3323,8 @@ md_apply_fix (fixS * fixp, valueT * valuep, segT seg)
   if (msp430_enable_polys
       && !msp430_enable_relax)
     {
-      if (!fixp->fx_addsy || (fixp->fx_addsy
-         && S_GET_SEGMENT (fixp->fx_addsy) == absolute_section))
+      if (!fixp->fx_addsy
+         || S_GET_SEGMENT (fixp->fx_addsy) == absolute_section)
        fixp->fx_done = 1;      /* It is ok to kill 'abs' reloc.  */
       else
        fixp->fx_done = 0;