tree-ssa-live.c (remove_unused_scope_block_p): Remove set but unused variable "ann".
authorJeff Law <law@redhat.com>
Thu, 24 Mar 2011 16:44:17 +0000 (10:44 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 24 Mar 2011 16:44:17 +0000 (10:44 -0600)
* tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
unused variable "ann".
(remove_unused_locals): Likewise.

* tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
statement.

* cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
after it is freed.

From-SVN: r171408

gcc/ChangeLog
gcc/cfglayout.c
gcc/tree-ssa-copy.c
gcc/tree-ssa-live.c

index 64e26a09d552310410cd7230c2709994bb35609b..c8b1c7d782412ee994385fbb671ec9210ed5a554 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-24  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
+       unused variable "ann".
+       (remove_unused_locals): Likewise.
+
+       * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
+       statement.
+
+       * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
+       after it is freed.
+
 2011-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
index 76925a519f24432dbe83a2e60e8c0a1096da68e6..05aed221f0bd3881c4772eeeede903683082672d 100644 (file)
@@ -766,7 +766,7 @@ fixup_reorder_chain (void)
     {
       edge e_fall, e_taken, e;
       rtx bb_end_insn;
-      basic_block nb;
+      basic_block nb, src_bb;
       edge_iterator ei;
 
       if (EDGE_COUNT (bb->succs) == 0)
@@ -894,7 +894,10 @@ fixup_reorder_chain (void)
            continue;
        }
 
-      /* We got here if we need to add a new jump insn.  */
+      /* We got here if we need to add a new jump insn. 
+        Note force_nonfallthru can delete E_FALL and thus we have to
+        save E_FALL->src prior to the call to force_nonfallthru.  */
+      src_bb = e_fall->src;
       nb = force_nonfallthru (e_fall);
       if (nb)
        {
@@ -905,9 +908,9 @@ fixup_reorder_chain (void)
          bb = nb;
 
          /* Make sure new bb is tagged for correct section (same as
-            fall-thru source, since you cannot fall-throu across
+            fall-thru source, since you cannot fall-thru across
             section boundaries).  */
-         BB_COPY_PARTITION (e_fall->src, single_pred (bb));
+         BB_COPY_PARTITION (src_bb, single_pred (bb));
          if (flag_reorder_blocks_and_partition
              && targetm.have_named_sections
              && JUMP_P (BB_END (bb))
index 88972750b04f1b589f391db5941cf6aece4b9d7e..8062c03369734f0d5be8606970bfe8480f5242d6 100644 (file)
@@ -244,7 +244,6 @@ propagate_tree_value_into_stmt (gimple_stmt_iterator *gsi, tree val)
         expr = gimple_assign_rhs1 (stmt);
       propagate_tree_value (&expr, val);
       gimple_assign_set_rhs_from_tree (gsi, expr);
-      stmt = gsi_stmt (*gsi);
     }
   else if (gimple_code (stmt) == GIMPLE_COND)
     {
index 0441df67b64e4ae2f42e98854700d9eb6de92057..c99d987b6b63044cfa71e107de10c96d4ddece8f 100644 (file)
@@ -427,7 +427,6 @@ remove_unused_scope_block_p (tree scope)
 {
   tree *t, *next;
   bool unused = !TREE_USED (scope);
-  var_ann_t ann;
   int nsubblocks = 0;
 
   for (t = &BLOCK_VARS (scope); *t; t = next)
@@ -467,8 +466,7 @@ remove_unused_scope_block_p (tree scope)
         info about optimized-out variables in the scope blocks.
         Exception are the scope blocks not containing any instructions
         at all so user can't get into the scopes at first place.  */
-      else if ((ann = var_ann (*t)) != NULL
-              && is_used_p (*t))
+      else if (var_ann (*t) != NULL && is_used_p (*t))
        unused = false;
       else if (TREE_CODE (*t) == LABEL_DECL && TREE_USED (*t))
        /* For labels that are still used in the IL, the decision to
@@ -690,7 +688,6 @@ remove_unused_locals (void)
   basic_block bb;
   tree var, t;
   referenced_var_iterator rvi;
-  var_ann_t ann;
   bitmap global_unused_vars = NULL;
   unsigned srcidx, dstidx, num;
 
@@ -766,7 +763,7 @@ remove_unused_locals (void)
     {
       var = VEC_index (tree, cfun->local_decls, srcidx);
       if (TREE_CODE (var) != FUNCTION_DECL
-         && (!(ann = var_ann (var))
+         && (!var_ann (var)
              || !is_used_p (var)))
        {
          if (is_global_var (var))
@@ -798,7 +795,7 @@ remove_unused_locals (void)
       FOR_EACH_LOCAL_DECL (cfun, ix, var)
        if (TREE_CODE (var) == VAR_DECL
            && is_global_var (var)
-           && (ann = var_ann (var)) != NULL
+           && var_ann (var) != NULL
            && is_used_p (var))
          mark_all_vars_used (&DECL_INITIAL (var), global_unused_vars);