OSDN Git Service

2006-09-10 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / see.c
index 603d72e..d20cdf4 100644 (file)
--- a/gcc/see.c
+++ b/gcc/see.c
@@ -480,9 +480,6 @@ The implementation consists of four data structures:
 #include "timevar.h"
 #include "tree-pass.h"
 
-void
-see_main (void);
-
 /* Used to classify defs and uses according to relevancy.  */
 enum entry_type {
   NOT_RELEVANT,
@@ -536,7 +533,7 @@ struct see_ref_s
   /* The insn of the ref.  */
   rtx insn;
   /* The merged insn that was formed from the reference's insn and extensions.
-     If all merges faile it remains NULL.  */
+     If all merges failed, it remains NULL.  */
   rtx merged_insn;
   /* The def extensions of the reference that were not merged with
      it.  */
@@ -567,7 +564,7 @@ struct see_register_properties
 };
 
 /* Occurrence of an expression.
-   There must be at most one available occurance and at most one anticipatable
+   There must be at most one available occurrence and at most one anticipatable
    occurrence per basic block.  */
 struct see_occr
 {
@@ -659,7 +656,7 @@ static unsigned int uses_num;
 /* Records the number of definitions at the beginning of the optimization.  */
 static unsigned int defs_num;
 
-#define ENTRY_EI(ENTRY) ((struct see_entry_extra_info *)(ENTRY)->extra_info)
+#define ENTRY_EI(ENTRY) ((struct see_entry_extra_info *) (ENTRY)->extra_info)
 \f
 /* Functions implementation.  */
 
@@ -673,12 +670,14 @@ static unsigned int defs_num;
 static rtx
 see_get_extension_reg (rtx extension, bool return_dest_reg)
 {
-  rtx set = NULL;
-  rtx rhs = NULL;
-  rtx lhs = NULL;
+  rtx set, rhs, lhs;
   rtx reg1 = NULL;
   rtx reg2 = NULL;
 
+  /* Parallel pattern for extension not supported for the moment.  */
+  if (GET_CODE (PATTERN (extension)) == PARALLEL)
+    return NULL;
+
   set = single_set (extension);
   if (!set)
     return NULL;
@@ -692,7 +691,7 @@ see_get_extension_reg (rtx extension, bool return_dest_reg)
   else
     return NULL;
 
-  if ((GET_CODE (rhs) != SIGN_EXTEND) && (GET_CODE (rhs) != ZERO_EXTEND))
+  if (GET_CODE (rhs) != SIGN_EXTEND && GET_CODE (rhs) != ZERO_EXTEND)
     return NULL;
 
   rhs = XEXP (rhs, 0);
@@ -719,13 +718,15 @@ see_get_extension_reg (rtx extension, bool return_dest_reg)
 static enum rtx_code
 see_get_extension_data (rtx extension, enum machine_mode *source_mode)
 {
-  rtx rhs = NULL;
-  rtx lhs = NULL;
-  rtx set = NULL;
+  rtx rhs, lhs, set;
 
   if (!extension || !INSN_P (extension))
     return UNKNOWN;
 
+  /* Parallel pattern for extension not supported for the moment.  */
+  if (GET_CODE (PATTERN (extension)) == PARALLEL)
+    return NOT_RELEVANT;
+
   set = single_set (extension);
   if (!set)
     return NOT_RELEVANT;
@@ -737,20 +738,19 @@ see_get_extension_data (rtx extension, enum machine_mode *source_mode)
   if (!REG_P (lhs) && !SUBREG_REG (lhs))
     return UNKNOWN;
 
-  if ((GET_CODE (rhs) != SIGN_EXTEND) && (GET_CODE (rhs) != ZERO_EXTEND))
+  if (GET_CODE (rhs) != SIGN_EXTEND && GET_CODE (rhs) != ZERO_EXTEND)
     return UNKNOWN;
 
   if (!REG_P (XEXP (rhs, 0))
-      && !((GET_CODE (XEXP (rhs, 0)) == SUBREG)
-          && (REG_P (SUBREG_REG (XEXP (rhs, 0))))))
+      && !(GET_CODE (XEXP (rhs, 0)) == SUBREG
+          && REG_P (SUBREG_REG (XEXP (rhs, 0)))))
     return UNKNOWN;
 
   *source_mode = GET_MODE (XEXP (rhs, 0));
 
   if (GET_CODE (rhs) == SIGN_EXTEND)
     return SIGN_EXTEND;
-  else
-    return ZERO_EXTEND;
+  return ZERO_EXTEND;
 }
 
 
@@ -759,20 +759,19 @@ see_get_extension_data (rtx extension, enum machine_mode *source_mode)
    (the register r on both sides of the set is the same register).
    And recognize it.
    If the recognition failed, this is very bad, return NULL (This will abort
-   the entier optimization).
+   the entire optimization).
    Otherwise, return the generated instruction.  */
 
 static rtx
 see_gen_normalized_extension (rtx reg, enum rtx_code extension_code,
                              enum machine_mode mode)
 {
-  rtx subreg = NULL;
+  rtx subreg, insn;
   rtx extension = NULL;
-  rtx insn = NULL;
 
   if (!reg
       || !REG_P (reg)
-      || ((extension_code != SIGN_EXTEND) && (extension_code != ZERO_EXTEND)))
+      || (extension_code != SIGN_EXTEND && extension_code != ZERO_EXTEND))
     return NULL;
 
   subreg = gen_lowpart_SUBREG (mode, reg);
@@ -815,8 +814,7 @@ eq_descriptor_pre_extension (const void *p1, const void *p2)
   const struct see_pre_extension_expr *extension2 = p2;
   rtx set1 = single_set (extension1->se_insn);
   rtx set2 = single_set (extension2->se_insn);
-  rtx rhs1 = NULL;
-  rtx rhs2 = NULL;
+  rtx rhs1, rhs2;
 
   gcc_assert (set1 && set2);
   rhs1 = SET_SRC (set1);
@@ -835,7 +833,7 @@ hash_descriptor_pre_extension (const void *p)
 {
   const struct see_pre_extension_expr *extension = p;
   rtx set = single_set (extension->se_insn);
-  rtx rhs = NULL;
+  rtx rhs;
 
   gcc_assert (set);
   rhs = SET_SRC (set);
@@ -892,7 +890,7 @@ eq_descriptor_properties (const void *p1, const void *p2)
   const struct see_register_properties *curr_prop1 = p1;
   const struct see_register_properties *curr_prop2 = p2;
 
-  return (curr_prop1->regno == curr_prop2->regno);
+  return curr_prop1->regno == curr_prop2->regno;
 }
 
 
@@ -925,7 +923,7 @@ hash_del_properties (void *p)
    set ((reg:WIDEmode r1) (sign_extend:WIDEmode (reg:NARROWmode r2)))
 
    The value of the key is (REGNO (reg:WIDEmode r1))
-   It is posibble to search this hash in two ways:
+   It is possible to search this hash in two ways:
    1.  By a register rtx. The Value that is been compared to the keys is the
        REGNO of it.
    2.  By an insn with the above pattern. The Value that is been compared to
@@ -940,8 +938,8 @@ eq_descriptor_extension (const void *p1, const void *p2)
   const rtx insn = (rtx) p1;
   const rtx element = (rtx) p2;
   rtx set1 = single_set (insn);
+  rtx dest_reg1;
   rtx set2 = NULL;
-  rtx dest_reg1 = NULL;
   rtx dest_reg2 = NULL;
 
   gcc_assert (set1 && element && (REG_P (element) || INSN_P (element)));
@@ -956,7 +954,7 @@ eq_descriptor_extension (const void *p1, const void *p2)
   else
     dest_reg2 = element;
 
-  return (REGNO (dest_reg1) == REGNO (dest_reg2));
+  return REGNO (dest_reg1) == REGNO (dest_reg2);
 }
 
 
@@ -967,19 +965,16 @@ static hashval_t
 hash_descriptor_extension (const void *p)
 {
   const rtx r = (rtx) p;
-  rtx set = NULL;
-  rtx lhs = NULL;
+  rtx set, lhs;
 
   if (r && REG_P (r))
     return REGNO (r);
-  else
-    {
-      gcc_assert (r && INSN_P (r));
-      set = single_set (r);
-      gcc_assert (set);
-      lhs = SET_DEST (set);
-      return REGNO (lhs);
-    }
+
+  gcc_assert (r && INSN_P (r));
+  set = single_set (r);
+  gcc_assert (set);
+  lhs = SET_DEST (set);
+  return REGNO (lhs);
 }
 
 
@@ -1017,8 +1012,7 @@ see_free_ref_s (splay_tree_value value)
 static struct see_pre_extension_expr *
 see_seek_pre_extension_expr (rtx extension, enum extension_type type)
 {
-  struct see_pre_extension_expr **slot_pre_exp = NULL;
-  struct see_pre_extension_expr temp_pre_exp;
+  struct see_pre_extension_expr **slot_pre_exp, temp_pre_exp;
   rtx dest_extension_reg = see_get_extension_reg (extension, 1);
   enum rtx_code extension_code;
   enum machine_mode source_extension_mode;
@@ -1065,8 +1059,7 @@ see_seek_pre_extension_expr (rtx extension, enum extension_type type)
 static bool
 see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
 {
-  struct see_entry_extra_info *first_ei = NULL;
-  struct see_entry_extra_info *second_ei = NULL;
+  struct see_entry_extra_info *first_ei, *second_ei;
 
   first = unionfind_root (first);
   second = unionfind_root (second);
@@ -1074,8 +1067,8 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
   if (unionfind_union (first, second))
     return true;
 
-  first_ei = (struct see_entry_extra_info *)first->extra_info;
-  second_ei = (struct see_entry_extra_info *)second->extra_info;
+  first_ei = (struct see_entry_extra_info *) first->extra_info;
+  second_ei = (struct see_entry_extra_info *) second->extra_info;
 
   gcc_assert (first_ei && second_ei);
 
@@ -1087,25 +1080,26 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
   switch (first_ei->relevancy)
     {
     case NOT_RELEVANT:
-      return false;
+      break;
     case RELEVANT_USE:
       switch (second_ei->relevancy)
        {
        case RELEVANT_USE:
-         return false;
+         break;
        case EXTENDED_DEF:
          first_ei->relevancy = second_ei->relevancy;
          first_ei->source_mode_signed = second_ei->source_mode_signed;
          first_ei->source_mode_unsigned = second_ei->source_mode_unsigned;
-         return false;
+         break;
        case SIGN_EXTENDED_DEF:
        case ZERO_EXTENDED_DEF:
          first_ei->relevancy = second_ei->relevancy;
          first_ei->source_mode = second_ei->source_mode;
-         return false;
+         break;
        default:
          gcc_unreachable ();
        }
+      break;
     case SIGN_EXTENDED_DEF:
       switch (second_ei->relevancy)
        {
@@ -1114,13 +1108,13 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
          first_ei->source_mode =
            (first_ei->source_mode > second_ei->source_mode) ?
            first_ei->source_mode : second_ei->source_mode;
-         return false;
+         break;
        case RELEVANT_USE:
-         return false;
+         break;
        case ZERO_EXTENDED_DEF:
          /* Don't mix webs with zero extend and sign extend.  */
          first_ei->relevancy = NOT_RELEVANT;
-         return false;
+         break;
        case EXTENDED_DEF:
          if (second_ei->source_mode_signed == MAX_MACHINE_MODE)
            first_ei->relevancy = NOT_RELEVANT;
@@ -1129,10 +1123,11 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
            first_ei->source_mode =
              (first_ei->source_mode > second_ei->source_mode_signed) ?
              first_ei->source_mode : second_ei->source_mode_signed;
-         return false;
+         break;
        default:
          gcc_unreachable ();
        }
+      break;
     /* This case is similar to the previous one, with little changes.  */
     case ZERO_EXTENDED_DEF:
       switch (second_ei->relevancy)
@@ -1140,15 +1135,15 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
        case SIGN_EXTENDED_DEF:
          /* Don't mix webs with zero extend and sign extend.  */
          first_ei->relevancy = NOT_RELEVANT;
-         return false;
+         break;
        case RELEVANT_USE:
-         return false;
+         break;
        case ZERO_EXTENDED_DEF:
          /* The mode of the root should be the wider one in this case.  */
          first_ei->source_mode =
            (first_ei->source_mode > second_ei->source_mode) ?
            first_ei->source_mode : second_ei->source_mode;
-         return false;
+         break;
        case EXTENDED_DEF:
          if (second_ei->source_mode_unsigned == MAX_MACHINE_MODE)
            first_ei->relevancy = NOT_RELEVANT;
@@ -1157,13 +1152,14 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
            first_ei->source_mode =
              (first_ei->source_mode > second_ei->source_mode_unsigned) ?
              first_ei->source_mode : second_ei->source_mode_unsigned;
-         return false;
+         break;
        default:
          gcc_unreachable ();
        }
+      break;
     case EXTENDED_DEF:
-      if ((first_ei->source_mode_signed != MAX_MACHINE_MODE)
-         && (first_ei->source_mode_unsigned != MAX_MACHINE_MODE))
+      if (first_ei->source_mode_signed != MAX_MACHINE_MODE
+         && first_ei->source_mode_unsigned != MAX_MACHINE_MODE)
        {
          switch (second_ei->relevancy)
            {
@@ -1172,15 +1168,15 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
              first_ei->source_mode =
                (first_ei->source_mode_signed > second_ei->source_mode) ?
                first_ei->source_mode_signed : second_ei->source_mode;
-             return false;
+             break;
            case RELEVANT_USE:
-             return false;
+             break;
            case ZERO_EXTENDED_DEF:
              first_ei->relevancy = ZERO_EXTENDED_DEF;
              first_ei->source_mode =
                (first_ei->source_mode_unsigned > second_ei->source_mode) ?
                first_ei->source_mode_unsigned : second_ei->source_mode;
-             return false;
+             break;
            case EXTENDED_DEF:
              if (second_ei->source_mode_unsigned != MAX_MACHINE_MODE)
                first_ei->source_mode_unsigned =
@@ -1193,7 +1189,7 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
                  (first_ei->source_mode_signed >
                  second_ei->source_mode_signed) ?
                  first_ei->source_mode_signed : second_ei->source_mode_signed;
-             return false;
+             break;
            default:
              gcc_unreachable ();
            }
@@ -1205,15 +1201,15 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
            {
            case SIGN_EXTENDED_DEF:
              first_ei->relevancy = NOT_RELEVANT;
-             return false;
+             break;
            case RELEVANT_USE:
-             return false;
+             break;
            case ZERO_EXTENDED_DEF:
              first_ei->relevancy = ZERO_EXTENDED_DEF;
              first_ei->source_mode =
                (first_ei->source_mode_unsigned > second_ei->source_mode) ?
                first_ei->source_mode_unsigned : second_ei->source_mode;
-             return false;
+             break;
            case EXTENDED_DEF:
              if (second_ei->source_mode_unsigned == MAX_MACHINE_MODE)
                first_ei->relevancy = NOT_RELEVANT;
@@ -1223,7 +1219,7 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
                  second_ei->source_mode_unsigned) ?
                  first_ei->source_mode_unsigned :
                  second_ei->source_mode_unsigned;
-             return false;
+             break;
            default:
              gcc_unreachable ();
            }
@@ -1239,12 +1235,12 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
              first_ei->source_mode =
                (first_ei->source_mode_signed > second_ei->source_mode) ?
                first_ei->source_mode_signed : second_ei->source_mode;
-             return false;
+             break;
            case RELEVANT_USE:
-             return false;
+             break;
            case ZERO_EXTENDED_DEF:
              first_ei->relevancy = NOT_RELEVANT;
-             return false;
+             break;
            case EXTENDED_DEF:
              if (second_ei->source_mode_signed == MAX_MACHINE_MODE)
                first_ei->relevancy = NOT_RELEVANT;
@@ -1253,15 +1249,18 @@ see_update_leader_extra_info (struct web_entry *first, struct web_entry *second)
                  (first_ei->source_mode_signed >
                  second_ei->source_mode_signed) ?
                  first_ei->source_mode_signed : second_ei->source_mode_signed;
-             return false;
+             break;
            default:
              gcc_unreachable ();
            }
        }
+      break;
     default:
       /* Unknown patern type.  */
       gcc_unreachable ();
     }
+
+  return false;
 }
 
 
@@ -1332,9 +1331,8 @@ static void
 see_initialize_data_structures (void)
 {
   /* Build the df object. */
-  df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES |        DF_SUBREGS);
-  df_rd_add_problem (df);
-  /* df_ru_add_problem (df); */
+  df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES | DF_SUBREGS);
+  df_rd_add_problem (df, 0);
   df_chain_add_problem (df, DF_DU_CHAIN | DF_UD_CHAIN);
   df_analyze (df);
 
@@ -1362,9 +1360,10 @@ see_initialize_data_structures (void)
 
   /*  Allocate the extension hash.  It will hold the extensions that we want
       to PRE.  */
-  see_pre_extension_hash =
-    htab_create (10, hash_descriptor_pre_extension, eq_descriptor_pre_extension,
-                hash_del_pre_extension);
+  see_pre_extension_hash = htab_create (10, 
+                                       hash_descriptor_pre_extension, 
+                                       eq_descriptor_pre_extension,
+                                       hash_del_pre_extension);
 }
 
 
@@ -1402,7 +1401,7 @@ static bool
 see_want_to_be_merged_with_extension (rtx ref, rtx extension,
                                      enum extension_type type)
 {
-  rtx pat = NULL;
+  rtx pat;
   rtx dest_extension_reg = see_get_extension_reg (extension, 1);
   rtx source_extension_reg = see_get_extension_reg (extension, 0);
   enum rtx_code code;
@@ -1418,16 +1417,16 @@ see_want_to_be_merged_with_extension (rtx ref, rtx extension,
        {
          rtx sub = XVECEXP (pat, 0, i);
 
-         if ((GET_CODE (sub) == SET)
-               && (REG_P (SET_DEST (sub))
-                   || ((GET_CODE (SET_DEST (sub)) == SUBREG)
-                       && (REG_P (SUBREG_REG (SET_DEST (sub))))))
-               && (REG_P (SET_SRC (sub))
-                   || ((GET_CODE (SET_SRC (sub)) == SUBREG)
-                       && (REG_P (SUBREG_REG (SET_SRC (sub)))))))
+         if (GET_CODE (sub) == SET
+             && (REG_P (SET_DEST (sub))
+                 || (GET_CODE (SET_DEST (sub)) == SUBREG
+                     && REG_P (SUBREG_REG (SET_DEST (sub)))))
+             && (REG_P (SET_SRC (sub))
+                 || (GET_CODE (SET_SRC (sub)) == SUBREG
+                     && REG_P (SUBREG_REG (SET_SRC (sub))))))
            {
              /* This is a simple move SET.  */
-             if ((type == DEF_EXTENSION)
+             if (type == DEF_EXTENSION
                  && reg_mentioned_p (source_extension_reg, SET_DEST (sub)))
                return false;
            }
@@ -1450,13 +1449,13 @@ see_want_to_be_merged_with_extension (rtx ref, rtx extension,
     }
   else
     {
-      if ((code == SET)
+      if (code == SET
          && (REG_P (SET_DEST (pat))
-             || ((GET_CODE (SET_DEST (pat)) == SUBREG)
-                 && (REG_P (SUBREG_REG (SET_DEST (pat))))))
+             || (GET_CODE (SET_DEST (pat)) == SUBREG
+                 && REG_P (SUBREG_REG (SET_DEST (pat)))))
          && (REG_P (SET_SRC (pat))
-             || ((GET_CODE (SET_SRC (pat)) == SUBREG)
-                 && (REG_P (SUBREG_REG (SET_SRC (pat)))))))
+             || (GET_CODE (SET_SRC (pat)) == SUBREG
+                 && REG_P (SUBREG_REG (SET_SRC (pat))))))
        /* This is a simple move SET.  */
        return false;
      }
@@ -1648,7 +1647,7 @@ see_commit_ref_changes (splay_tree_node stn,
    redundant.
 
    INDEX_MAP is a mapping of an index to an expression.
-   Return true if an instruction was insertedon an edge.
+   Return true if an instruction was inserted on an edge.
    Otherwise, return false.  */
 
 static bool
@@ -1846,12 +1845,11 @@ see_analyze_merged_def_local_prop (void **slot, void *b)
   rtx def_se = *slot;
   struct see_ref_s *curr_ref_s = (struct see_ref_s *) b;
   rtx ref = curr_ref_s->insn;
-  struct see_pre_extension_expr *extension_expr = NULL;
+  struct see_pre_extension_expr *extension_expr;
   int indx;
   int bb_num = BLOCK_NUM (ref);
-  htab_t curr_bb_hash = NULL;
-  struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  htab_t curr_bb_hash;
+  struct see_register_properties *curr_prop, **slot_prop;
   struct see_register_properties temp_prop;
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
   struct see_occr *curr_occr = NULL;
@@ -1915,12 +1913,11 @@ see_analyze_unmerged_def_local_prop (void **slot, void *b)
   rtx def_se = *slot;
   struct see_ref_s *curr_ref_s = (struct see_ref_s *) b;
   rtx ref = curr_ref_s->insn;
-  struct see_pre_extension_expr *extension_expr = NULL;
+  struct see_pre_extension_expr *extension_expr;
   int indx;
   int bb_num = BLOCK_NUM (ref);
-  htab_t curr_bb_hash = NULL;
-  struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  htab_t curr_bb_hash;
+  struct see_register_properties *curr_prop, **slot_prop;
   struct see_register_properties temp_prop;
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
 
@@ -1964,13 +1961,12 @@ see_analyze_use_local_prop (void **slot, void *b)
   rtx use_se = *slot;
   rtx ref = curr_ref_s->insn;
   rtx dest_extension_reg = see_get_extension_reg (use_se, 1);
-  struct see_pre_extension_expr *extension_expr = NULL;
-  struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  struct see_pre_extension_expr *extension_expr;
+  struct see_register_properties *curr_prop, **slot_prop;
   struct see_register_properties temp_prop;
   struct see_occr *curr_occr = NULL;
   struct see_occr *tmp_occr = NULL;
-  htab_t curr_bb_hash = NULL;
+  htab_t curr_bb_hash;
   int indx;
   int bb_num = BLOCK_NUM (ref);
 
@@ -2146,7 +2142,7 @@ see_execute_LCM (void)
 /* In this function we set the register properties for the register that is
    defined and extended in the reference.
    The properties are defined in see_register_properties structure which is
-   allocated per basic bloack and per register.
+   allocated per basic block and per register.
    Later the extension is inserted into the see_pre_extension_hash for the next
    phase of the optimization.
 
@@ -2163,9 +2159,9 @@ see_set_prop_merged_def (void **slot, void *b)
   struct see_ref_s *curr_ref_s = (struct see_ref_s *) b;
   rtx insn = curr_ref_s->insn;
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
-  htab_t curr_bb_hash = NULL;
+  htab_t curr_bb_hash;
   struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  struct see_register_properties **slot_prop;
   struct see_register_properties temp_prop;
   int ref_luid = DF_INSN_LUID (df, insn);
 
@@ -2173,9 +2169,10 @@ see_set_prop_merged_def (void **slot, void *b)
   if (!curr_bb_hash)
     {
       /* The hash doesn't exist yet.  Create it.  */
-      curr_bb_hash =
-       htab_create (10, hash_descriptor_properties, eq_descriptor_properties,
-                    hash_del_properties);
+      curr_bb_hash = htab_create (10, 
+                                 hash_descriptor_properties, 
+                                 eq_descriptor_properties,
+                                 hash_del_properties);
       see_bb_hash_ar[BLOCK_NUM (curr_ref_s->insn)] = curr_bb_hash;
     }
 
@@ -2185,7 +2182,7 @@ see_set_prop_merged_def (void **slot, void *b)
     (struct see_register_properties **) htab_find_slot (curr_bb_hash,
                                                        &temp_prop, INSERT);
 
-  if (slot_prop && (*slot_prop != NULL))
+  if (slot_prop && *slot_prop != NULL)
     {
       /* Property already exists.  */
       curr_prop = *slot_prop;
@@ -2216,7 +2213,7 @@ see_set_prop_merged_def (void **slot, void *b)
 /* In this function we set the register properties for the register that is
    defined but not extended in the reference.
    The properties are defined in see_register_properties structure which is
-   allocated per basic bloack and per register.
+   allocated per basic block and per register.
    Later the extension is inserted into the see_pre_extension_hash for the next
    phase of the optimization.
 
@@ -2233,9 +2230,9 @@ see_set_prop_unmerged_def (void **slot, void *b)
   struct see_ref_s *curr_ref_s = (struct see_ref_s *) b;
   rtx insn = curr_ref_s->insn;
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
-  htab_t curr_bb_hash = NULL;
+  htab_t curr_bb_hash;
   struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  struct see_register_properties **slot_prop;
   struct see_register_properties temp_prop;
   int ref_luid = DF_INSN_LUID (df, insn);
 
@@ -2243,9 +2240,10 @@ see_set_prop_unmerged_def (void **slot, void *b)
   if (!curr_bb_hash)
     {
       /* The hash doesn't exist yet.  Create it.  */
-      curr_bb_hash =
-       htab_create (10, hash_descriptor_properties, eq_descriptor_properties,
-                    hash_del_properties);
+      curr_bb_hash = htab_create (10, 
+                                 hash_descriptor_properties, 
+                                 eq_descriptor_properties,
+                                 hash_del_properties);
       see_bb_hash_ar[BLOCK_NUM (curr_ref_s->insn)] = curr_bb_hash;
     }
 
@@ -2255,7 +2253,7 @@ see_set_prop_unmerged_def (void **slot, void *b)
     (struct see_register_properties **) htab_find_slot (curr_bb_hash,
                                                        &temp_prop, INSERT);
 
-  if (slot_prop && (*slot_prop != NULL))
+  if (slot_prop && *slot_prop != NULL)
     {
       /* Property already exists.  */
       curr_prop = *slot_prop;
@@ -2286,7 +2284,7 @@ see_set_prop_unmerged_def (void **slot, void *b)
 /* In this function we set the register properties for the register that is used
    in the reference.
    The properties are defined in see_register_properties structure which is
-   allocated per basic bloack and per register.
+   allocated per basic block and per register.
    When a redundant use extension is found it is removed from the hash of the
    reference.
    If the extension is non redundant it is inserted into the
@@ -2305,9 +2303,9 @@ see_set_prop_unmerged_use (void **slot, void *b)
   struct see_ref_s *curr_ref_s = (struct see_ref_s *) b;
   rtx insn = curr_ref_s->insn;
   rtx dest_extension_reg = see_get_extension_reg (use_se, 1);
-  htab_t curr_bb_hash = NULL;
+  htab_t curr_bb_hash;
   struct see_register_properties *curr_prop = NULL;
-  struct see_register_properties **slot_prop = NULL;
+  struct see_register_properties **slot_prop;
   struct see_register_properties temp_prop;
   bool locally_redundant = false;
   int ref_luid = DF_INSN_LUID (df, insn);
@@ -2316,9 +2314,10 @@ see_set_prop_unmerged_use (void **slot, void *b)
   if (!curr_bb_hash)
     {
       /* The hash doesn't exist yet.  Create it.  */
-      curr_bb_hash =
-       htab_create (10, hash_descriptor_properties, eq_descriptor_properties,
-                    hash_del_properties);
+      curr_bb_hash = htab_create (10, 
+                                 hash_descriptor_properties, 
+                                 eq_descriptor_properties,
+                                 hash_del_properties);
       see_bb_hash_ar[BLOCK_NUM (curr_ref_s->insn)] = curr_bb_hash;
     }
 
@@ -2328,29 +2327,29 @@ see_set_prop_unmerged_use (void **slot, void *b)
     (struct see_register_properties **) htab_find_slot (curr_bb_hash,
                                                        &temp_prop, INSERT);
 
-  if (slot_prop && (*slot_prop != NULL))
+  if (slot_prop && *slot_prop != NULL)
     {
       /* Property already exists.  */
       curr_prop = *slot_prop;
       gcc_assert (curr_prop->regno == REGNO (dest_extension_reg));
 
 
-      if ((curr_prop->last_def < 0) && (curr_prop->first_se_before_any_def < 0))
+      if (curr_prop->last_def < 0 && curr_prop->first_se_before_any_def < 0)
        curr_prop->first_se_before_any_def = ref_luid;
-      else if ((curr_prop->last_def < 0)
-              && (curr_prop->first_se_before_any_def >= 0))
+      else if (curr_prop->last_def < 0
+              && curr_prop->first_se_before_any_def >= 0)
        {
-         /* In this case the extension is localy redundant.  */
+         /* In this case the extension is locally redundant.  */
          htab_clear_slot (curr_ref_s->use_se_hash, (PTR *)slot);
          locally_redundant = true;
        }
-      else if ((curr_prop->last_def >= 0)
-              && (curr_prop->first_se_after_last_def < 0))
+      else if (curr_prop->last_def >= 0
+              && curr_prop->first_se_after_last_def < 0)
        curr_prop->first_se_after_last_def = ref_luid;
-      else if ((curr_prop->last_def >= 0)
-         && (curr_prop->first_se_after_last_def >= 0))
+      else if (curr_prop->last_def >= 0
+              && curr_prop->first_se_after_last_def >= 0)
        {
-         /* In this case the extension is localy redundant.  */
+         /* In this case the extension is locally redundant.  */
          htab_clear_slot (curr_ref_s->use_se_hash, (PTR *)slot);
          locally_redundant = true;
        }
@@ -2424,7 +2423,7 @@ see_replace_src (rtx *x, void *data)
    set (subreg (dest_extension_reg)) (rhs)
 
    We do this in 4 steps:
-   a. Replace every use of dest_reg with a new preudo register.
+   a. Replace every use of dest_reg with a new pseudo register.
    b. Replace every instance of dest_reg with the subreg.
    c. Replace every use of the new pseudo register back to dest_reg.
    d. Try to recognize and simplify.
@@ -2449,26 +2448,23 @@ see_def_extension_not_merged (struct see_ref_s *curr_ref_s, rtx def_se)
   rtx merged_ref_next = (curr_ref_s->merged_insn) ?
                        NEXT_INSN (curr_ref_s->merged_insn): NULL_RTX;
   rtx ref_copy = copy_rtx (ref);
-  rtx dest_reg = NULL;
-  rtx dest_real_reg = NULL;
   rtx source_extension_reg = see_get_extension_reg (def_se, 0);
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
-  rtx new_pseudo_reg = NULL;
-  rtx subreg = NULL;
   rtx move_insn = NULL;
-  rtx set = NULL;
-  rtx rhs = NULL;
+  rtx set, rhs;
+  rtx dest_reg, dest_real_reg;
+  rtx new_pseudo_reg, subreg;
   enum machine_mode source_extension_mode = GET_MODE (source_extension_reg);
   enum machine_mode dest_mode;
 
   set = single_set (def_se);
   gcc_assert (set);
   rhs = SET_SRC (set);
-  gcc_assert ((GET_CODE (rhs) == SIGN_EXTEND)
-             || (GET_CODE (rhs) == ZERO_EXTEND));
+  gcc_assert (GET_CODE (rhs) == SIGN_EXTEND
+             || GET_CODE (rhs) == ZERO_EXTEND);
   dest_reg = XEXP (rhs, 0);
   gcc_assert (REG_P (dest_reg)
-             || ((GET_CODE (dest_reg) == SUBREG)
+             || (GET_CODE (dest_reg) == SUBREG
                  && REG_P (SUBREG_REG (dest_reg))));
   dest_real_reg = REG_P (dest_reg) ? dest_reg : SUBREG_REG (dest_reg);
   dest_mode = GET_MODE (dest_reg);
@@ -2476,7 +2472,7 @@ see_def_extension_not_merged (struct see_ref_s *curr_ref_s, rtx def_se)
   subreg = gen_lowpart_SUBREG (dest_mode, dest_extension_reg);
   new_pseudo_reg = gen_reg_rtx (source_extension_mode);
 
-  /* Step a: Replace every use of dest_real_reg with a new preudo register.  */
+  /* Step a: Replace every use of dest_real_reg with a new pseudo register.  */
   d.from = dest_real_reg;
   d.to = new_pseudo_reg;
   note_uses (&PATTERN (ref_copy), see_replace_src, &d);
@@ -2706,7 +2702,7 @@ see_merge_one_use_extension (void **slot, void *b)
    ref:           set (dest_reg) (rhs)
    def_se: set (dest_extension_reg) (sign/zero_extend (source_extension_reg))
 
-   where dest_reg and source_extension_reg can both be subregs (togather)
+   where dest_reg and source_extension_reg can both be subregs (together)
    and (REGNO (dest_reg) == REGNO (source_extension_reg))
 
    The merge is done by generating, simplifying and recognizing the pattern:
@@ -2737,12 +2733,10 @@ see_merge_one_def_extension (void **slot, void *b)
   rtx new_set = NULL;
   rtx source_extension_reg = see_get_extension_reg (def_se, 0);
   rtx dest_extension_reg = see_get_extension_reg (def_se, 1);
-  rtx move_insn = NULL;
-  rtx *rtx_slot = NULL;
-  rtx subreg = NULL;
+  rtx move_insn, *rtx_slot, subreg;
   rtx temp_extension = NULL;
   rtx simplified_temp_extension = NULL;
-  rtx *pat = NULL;
+  rtx *pat;
   enum rtx_code code;
   enum rtx_code extension_code;
   enum machine_mode source_extension_mode;
@@ -2790,15 +2784,15 @@ see_merge_one_def_extension (void **slot, void *b)
        {
          rtx *sub = &XVECEXP (*pat, 0, i);
 
-         if ((GET_CODE (*sub) == SET)
-             && (GET_MODE (SET_SRC (*sub)) != VOIDmode)
-             && (GET_MODE (SET_DEST (*sub)) == source_mode)
+         if (GET_CODE (*sub) == SET
+             && GET_MODE (SET_SRC (*sub)) != VOIDmode
+             && GET_MODE (SET_DEST (*sub)) == source_mode
              && ((REG_P (SET_DEST (*sub))
-                 && (REGNO (SET_DEST (*sub)) == REGNO (source_extension_reg)))
-                || ((GET_CODE (SET_DEST (*sub)) == SUBREG)
-                    && (REG_P (SUBREG_REG (SET_DEST (*sub))))
-                    && (REGNO (SUBREG_REG (SET_DEST (*sub))) ==
-                        REGNO (source_extension_reg)))))
+                  && REGNO (SET_DEST (*sub)) == REGNO (source_extension_reg))
+                 || (GET_CODE (SET_DEST (*sub)) == SUBREG
+                     && REG_P (SUBREG_REG (SET_DEST (*sub)))
+                     && (REGNO (SUBREG_REG (SET_DEST (*sub))) ==
+                         REGNO (source_extension_reg)))))
            {
              rtx orig_src = SET_SRC (*sub);
 
@@ -2822,13 +2816,13 @@ see_merge_one_def_extension (void **slot, void *b)
        if (apply_change_group ())
          merge_success = true;
     }
-  else if ((code == SET)
-          && (GET_MODE (SET_SRC (*pat)) != VOIDmode)
-          && (GET_MODE (SET_DEST (*pat)) == source_mode)
+  else if (code == SET
+          && GET_MODE (SET_SRC (*pat)) != VOIDmode
+          && GET_MODE (SET_DEST (*pat)) == source_mode
           && ((REG_P (SET_DEST (*pat))
                && REGNO (SET_DEST (*pat)) == REGNO (source_extension_reg))
-              || ((GET_CODE (SET_DEST (*pat)) == SUBREG)
-                  && (REG_P (SUBREG_REG (SET_DEST (*pat))))
+              || (GET_CODE (SET_DEST (*pat)) == SUBREG
+                  && REG_P (SUBREG_REG (SET_DEST (*pat)))
                   && (REGNO (SUBREG_REG (SET_DEST (*pat))) ==
                       REGNO (source_extension_reg)))))
     {
@@ -2896,9 +2890,10 @@ see_merge_one_def_extension (void **slot, void *b)
      the merged_def_se_hash.  */
   htab_clear_slot (curr_ref_s->unmerged_def_se_hash, (PTR *)slot);
   if (!curr_ref_s->merged_def_se_hash)
-    curr_ref_s->merged_def_se_hash =
-      htab_create (10, hash_descriptor_extension, eq_descriptor_extension,
-                  NULL);
+    curr_ref_s->merged_def_se_hash = htab_create (10, 
+                                                 hash_descriptor_extension, 
+                                                 eq_descriptor_extension,
+                                                 NULL);
   rtx_slot = (rtx *) htab_find_slot (curr_ref_s->merged_def_se_hash,
                                     dest_extension_reg, INSERT);
   gcc_assert (*rtx_slot == NULL);
@@ -2932,7 +2927,7 @@ see_handle_extensions_for_one_ref (splay_tree_node stn,
   htab_t use_se_hash = ((struct see_ref_s *) (stn->value))->use_se_hash;
   htab_t unmerged_def_se_hash =
     ((struct see_ref_s *) (stn->value))->unmerged_def_se_hash;
-  htab_t merged_def_se_hash = NULL;
+  htab_t merged_def_se_hash;
   rtx ref = ((struct see_ref_s *) (stn->value))->insn;
 
   if (dump_file)
@@ -3037,7 +3032,7 @@ static bool
 see_store_reference_and_extension (rtx ref_insn, rtx se_insn,
                                   enum extension_type type)
 {
-  rtx *rtx_slot = NULL;
+  rtx *rtx_slot;
   int curr_bb_num;
   splay_tree_node stn = NULL;
   htab_t se_hash = NULL;
@@ -3049,7 +3044,7 @@ see_store_reference_and_extension (rtx ref_insn, rtx se_insn,
     return false;
 
   curr_bb_num = BLOCK_NUM (ref_insn);
-  gcc_assert ((curr_bb_num < last_bb) && (curr_bb_num >= 0));
+  gcc_assert (curr_bb_num < last_bb && curr_bb_num >= 0);
 
   /* Insert the reference to the splay tree of its basic block.  */
   if (!see_bb_splay_ar[curr_bb_num])
@@ -3063,43 +3058,47 @@ see_store_reference_and_extension (rtx ref_insn, rtx se_insn,
       stn = splay_tree_lookup (see_bb_splay_ar[curr_bb_num],
                               DF_INSN_LUID (df, ref_insn));
       if (stn)
-       {
-         switch (type)
-           {
-           case EXPLICIT_DEF_EXTENSION:
-             se_hash =
-               ((struct see_ref_s *) (stn->value))->unmerged_def_se_hash;
-             if (!se_hash)
-               {
-                 se_hash = htab_create (10, hash_descriptor_extension,
-                                        eq_descriptor_extension, NULL);
-                 ((struct see_ref_s *) (stn->value))->unmerged_def_se_hash =
-                   se_hash;
-               }
-             break;
-           case IMPLICIT_DEF_EXTENSION:
-             se_hash = ((struct see_ref_s *) (stn->value))->merged_def_se_hash;
-             if (!se_hash)
-               {
-                 se_hash = htab_create (10, hash_descriptor_extension,
-                                        eq_descriptor_extension, NULL);
-                 ((struct see_ref_s *) (stn->value))->merged_def_se_hash =
-                   se_hash;
-               }
-             break;
-           case USE_EXTENSION:
-             se_hash = ((struct see_ref_s *) (stn->value))->use_se_hash;
-             if (!se_hash)
-               {
-                 se_hash = htab_create (10, hash_descriptor_extension,
-                                        eq_descriptor_extension, NULL);
-                 ((struct see_ref_s *) (stn->value))->use_se_hash = se_hash;
-               }
-             break;
-           default:
-             gcc_unreachable ();
-           }
-       }
+       switch (type)
+         {
+         case EXPLICIT_DEF_EXTENSION:
+           se_hash =
+             ((struct see_ref_s *) (stn->value))->unmerged_def_se_hash;
+           if (!se_hash)
+             {
+               se_hash = htab_create (10, 
+                                      hash_descriptor_extension,
+                                      eq_descriptor_extension, 
+                                      NULL);
+               ((struct see_ref_s *) (stn->value))->unmerged_def_se_hash =
+                 se_hash;
+             }
+           break;
+         case IMPLICIT_DEF_EXTENSION:
+           se_hash = ((struct see_ref_s *) (stn->value))->merged_def_se_hash;
+           if (!se_hash)
+             {
+               se_hash = htab_create (10, 
+                                      hash_descriptor_extension,
+                                      eq_descriptor_extension, 
+                                      NULL);
+               ((struct see_ref_s *) (stn->value))->merged_def_se_hash =
+                 se_hash;
+             }
+           break;
+         case USE_EXTENSION:
+           se_hash = ((struct see_ref_s *) (stn->value))->use_se_hash;
+           if (!se_hash)
+             {
+               se_hash = htab_create (10, 
+                                      hash_descriptor_extension,
+                                      eq_descriptor_extension, 
+                                      NULL);
+               ((struct see_ref_s *) (stn->value))->use_se_hash = se_hash;
+             }
+           break;
+         default:
+           gcc_unreachable ();
+         }
     }
 
   /* Initialize a new see_ref_s structure and insert it to the splay
@@ -3115,25 +3114,28 @@ see_store_reference_and_extension (rtx ref_insn, rtx se_insn,
       switch (type)
        {
        case EXPLICIT_DEF_EXTENSION:
-         ref_s->unmerged_def_se_hash =
-           htab_create (10, hash_descriptor_extension, eq_descriptor_extension,
-                        NULL);
+         ref_s->unmerged_def_se_hash = htab_create (10, 
+                                                    hash_descriptor_extension, 
+                                                    eq_descriptor_extension,
+                                                    NULL);
          se_hash = ref_s->unmerged_def_se_hash;
          ref_s->merged_def_se_hash = NULL;
          ref_s->use_se_hash = NULL;
          break;
        case IMPLICIT_DEF_EXTENSION:
-         ref_s->merged_def_se_hash =
-           htab_create (10, hash_descriptor_extension, eq_descriptor_extension,
-                        NULL);
+         ref_s->merged_def_se_hash = htab_create (10, 
+                                                  hash_descriptor_extension, 
+                                                  eq_descriptor_extension,
+                                                  NULL);
          se_hash = ref_s->merged_def_se_hash;
          ref_s->unmerged_def_se_hash = NULL;
          ref_s->use_se_hash = NULL;
          break;
        case USE_EXTENSION:
-         ref_s->use_se_hash =
-           htab_create (10, hash_descriptor_extension, eq_descriptor_extension,
-                        NULL);
+         ref_s->use_se_hash = htab_create (10, 
+                                           hash_descriptor_extension, 
+                                           eq_descriptor_extension,
+                                           NULL);
          se_hash = ref_s->use_se_hash;
          ref_s->unmerged_def_se_hash = NULL;
          ref_s->merged_def_se_hash = NULL;
@@ -3197,8 +3199,8 @@ see_handle_relevant_defs (void)
 
       root_entry = unionfind_root (&def_entry[i]);
 
-      if ((ENTRY_EI (root_entry)->relevancy != SIGN_EXTENDED_DEF)
-         && (ENTRY_EI (root_entry)->relevancy != ZERO_EXTENDED_DEF))
+      if (ENTRY_EI (root_entry)->relevancy != SIGN_EXTENDED_DEF
+         && ENTRY_EI (root_entry)->relevancy != ZERO_EXTENDED_DEF)
        /* The current web is not relevant.  Continue to the next def.  */
        continue;
 
@@ -3213,7 +3215,7 @@ see_handle_relevant_defs (void)
         source_mode is narrower then its web's source_mode.
         This means that we need to generate the implicit extension explicitly
         and store it in the current reference's merged_def_se_hash.  */
-      if ((ENTRY_EI (&def_entry[i])->local_relevancy == EXTENDED_DEF)
+      if (ENTRY_EI (&def_entry[i])->local_relevancy == EXTENDED_DEF
          || (ENTRY_EI (&def_entry[i])->local_source_mode <
              ENTRY_EI (root_entry)->source_mode))
        {
@@ -3282,8 +3284,8 @@ see_handle_relevant_uses (void)
 
       root_entry = unionfind_root (&use_entry[i]);
 
-      if ((ENTRY_EI (root_entry)->relevancy != SIGN_EXTENDED_DEF)
-         && (ENTRY_EI (root_entry)->relevancy != ZERO_EXTENDED_DEF))
+      if (ENTRY_EI (root_entry)->relevancy != SIGN_EXTENDED_DEF
+         && ENTRY_EI (root_entry)->relevancy != ZERO_EXTENDED_DEF)
        /* The current web is not relevant.  Continue to the next use.  */
        continue;
 
@@ -3460,16 +3462,16 @@ see_analyze_one_def (rtx insn, enum machine_mode *source_mode,
        return NOT_RELEVANT;
 
       /* If we can't use copy_rtx on the reference it can't be a reference.  */
-      if ((GET_CODE (PATTERN (prev_insn)) == PARALLEL)
-          && (asm_noperands (PATTERN (prev_insn)) >= 0))
+      if (GET_CODE (PATTERN (prev_insn)) == PARALLEL
+          && asm_noperands (PATTERN (prev_insn)) >= 0)
        return NOT_RELEVANT;
 
       /* Now, check if this extension is a reference itself.  If so, it is not
         relevant.  Handling this extension as relevant would make things much
         more complicated.  */
       next_insn = NEXT_INSN (insn);
-      if (prev_insn
-         && INSN_P (prev_insn)
+      if (next_insn
+         && INSN_P (next_insn)
          && (see_get_extension_data (next_insn, &next_source_mode) !=
              NOT_RELEVANT))
        {
@@ -3503,15 +3505,15 @@ see_analyze_one_def (rtx insn, enum machine_mode *source_mode,
 
       switch (GET_CODE (rhs))
        {
-       case (SIGN_EXTEND):
+       case SIGN_EXTEND:
          *source_mode = GET_MODE (XEXP (rhs, 0));
          *source_mode_unsigned = MAX_MACHINE_MODE;
          return EXTENDED_DEF;
-       case (ZERO_EXTEND):
+       case ZERO_EXTEND:
          *source_mode = MAX_MACHINE_MODE;
          *source_mode_unsigned = GET_MODE (XEXP (rhs, 0));
          return EXTENDED_DEF;
-       case (CONST_INT):
+       case CONST_INT:
 
          val = INTVAL (rhs);
 
@@ -3521,17 +3523,17 @@ see_analyze_one_def (rtx insn, enum machine_mode *source_mode,
               mode = GET_MODE_WIDER_MODE (mode), i++)
            {
              val2 = trunc_int_for_mode (val, mode);
-             if ((val2 == val) && (*source_mode == MAX_MACHINE_MODE))
+             if (val2 == val && *source_mode == MAX_MACHINE_MODE)
                *source_mode = mode;
-             if ((val == (val & (HOST_WIDE_INT)GET_MODE_MASK (mode)))
-                 && (*source_mode_unsigned == MAX_MACHINE_MODE))
+             if (val == (val & (HOST_WIDE_INT)GET_MODE_MASK (mode))
+                 && *source_mode_unsigned == MAX_MACHINE_MODE)
                *source_mode_unsigned = mode;
-             if ((*source_mode != MAX_MACHINE_MODE)
-                 && (*source_mode_unsigned !=MAX_MACHINE_MODE))
+             if (*source_mode != MAX_MACHINE_MODE
+                 && *source_mode_unsigned !=MAX_MACHINE_MODE)
                return EXTENDED_DEF;
            }
-         if ((*source_mode != MAX_MACHINE_MODE)
-             || (*source_mode_unsigned !=MAX_MACHINE_MODE))
+         if (*source_mode != MAX_MACHINE_MODE
+             || *source_mode_unsigned !=MAX_MACHINE_MODE)
            return EXTENDED_DEF;
          return NOT_RELEVANT;
        default:
@@ -3609,8 +3611,8 @@ see_update_defs_relevancy (void)
                  break;
                case EXTENDED_DEF :
                  fprintf (dump_file, "EXTENDED_DEF, ");
-                 if ((source_mode != MAX_MACHINE_MODE)
-                     && (source_mode_unsigned != MAX_MACHINE_MODE))
+                 if (source_mode != MAX_MACHINE_MODE
+                     && source_mode_unsigned != MAX_MACHINE_MODE)
                    {
                      fprintf (dump_file, "positive const, ");
                      fprintf (dump_file, "source_mode_signed = %s, ",
@@ -3662,10 +3664,8 @@ see_propagate_extensions_to_uses (void)
      and there is at least one definition that was marked as SIGN_EXTENDED_DEF
      or ZERO_EXTENDED_DEF.  */
   for (i = 0; i < uses_num; i++)
-    {
-      union_defs (df, DF_USES_GET (df, i), def_entry, use_entry,
-                 see_update_leader_extra_info);
-    }
+    union_defs (df, DF_USES_GET (df, i), def_entry, use_entry,
+               see_update_leader_extra_info);
 
   /* Generate use extensions for references and insert these
      references to see_bb_splay_ar data structure.    */
@@ -3681,13 +3681,13 @@ see_propagate_extensions_to_uses (void)
   if (num_relevant_defs < 0)
     return false;
 
 return ((num_relevant_uses > 0) || (num_relevant_defs > 0));
return num_relevant_uses > 0 || num_relevant_defs > 0;
 }
 
 
 /* Main entry point for the sign extension elimination optimization.  */
 
-void
+static void
 see_main (void)
 {
   bool cont = false;
@@ -3742,7 +3742,7 @@ see_main (void)
 static bool
 gate_handle_see (void)
 {
-  return ((optimize > 1) && flag_see);
+  return optimize > 1 && flag_see;
 }
 
 static unsigned int