]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query is_gimple_reg on the SSA name...
authorRichard Guenther <rguenther@suse.de>
Fri, 3 Aug 2012 08:55:43 +0000 (08:55 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 3 Aug 2012 08:55:43 +0000 (08:55 +0000)
2012-08-03  Richard Guenther  <rguenther@suse.de>

* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
is_gimple_reg on the SSA name, not its variable.
(vect_update_ivs_after_vectorizer): Likewise.
* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
* tree-if-conv.c (if_convertible_phi_p): Likewise.
(predicate_scalar_phi): Likewise.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
* tree-ssa-live.c (register_ssa_partition_check): Likewise.
* tree-outof-ssa.c (eliminate_useless_phis): Likewise.
* tree-ssa-reassoc.c (phi_rank): Likewise.
* tree-parloops.c (separate_decls_in_region_name): Use
replace_ssa_name_symbol.
* tree-predcom.c (base_names_in_chain_on): Likewise.
* matrix-reorg.c (update_type_size): Query the type of the SSA name,
not its variable.
* gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Likewise.
(create_add_imm_cand): Likewise.
(slsr_process_add): Likewise.
* tree-inline.c (remap_ssa_name): Do not set the type of the
new SSA_NAME.
* tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify
assert.  Check for default def first.

From-SVN: r190116

14 files changed:
gcc/ChangeLog
gcc/gimple-ssa-strength-reduction.c
gcc/matrix-reorg.c
gcc/tree-if-conv.c
gcc/tree-inline.c
gcc/tree-outof-ssa.c
gcc/tree-parloops.c
gcc/tree-predcom.c
gcc/tree-ssa-copyrename.c
gcc/tree-ssa-live.c
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-structalias.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c

index bb559052395503b122f66521a24bd6d90ed8fcb1..12241aa58c7e348450dec2d696cc7eecc7c793dd 100644 (file)
@@ -1,3 +1,31 @@
+2012-08-03  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
+       is_gimple_reg on the SSA name, not its variable.
+       (vect_update_ivs_after_vectorizer): Likewise.
+       * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+       * tree-if-conv.c (if_convertible_phi_p): Likewise.
+       (predicate_scalar_phi): Likewise.
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
+       (vect_analyze_scalar_cycles_1): Likewise.
+       * tree-ssa-live.c (register_ssa_partition_check): Likewise.
+       * tree-outof-ssa.c (eliminate_useless_phis): Likewise.
+       * tree-ssa-reassoc.c (phi_rank): Likewise.
+       * tree-parloops.c (separate_decls_in_region_name): Use
+       replace_ssa_name_symbol.
+       * tree-predcom.c (base_names_in_chain_on): Likewise.
+       * matrix-reorg.c (update_type_size): Query the type of the SSA name,
+       not its variable.
+       * gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
+       (create_mul_imm_cand): Likewise.
+       (create_add_ssa_cand): Likewise.
+       (create_add_imm_cand): Likewise.
+       (slsr_process_add): Likewise.
+       * tree-inline.c (remap_ssa_name): Do not set the type of the
+       new SSA_NAME.
+       * tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify
+       assert.  Check for default def first.
+
 2012-08-04  Steven Bosscher  <steven@gcc.gnu.org>
 
        * cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
index e6793a5e3390dc833e887b258cc380ad52ad47fa..6a46408f0ca4b1de2f82add7917cd6168ab12350 100644 (file)
@@ -656,7 +656,7 @@ create_mul_ssa_cand (gimple gs, tree base_in, tree stride_in, bool speed)
       base = base_in;
       index = double_int_zero;
       stride = stride_in;
-      ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+      ctype = TREE_TYPE (base_in);
     }
 
   c = alloc_cand_and_find_basis (CAND_MULT, gs, base, index, stride,
@@ -744,7 +744,7 @@ create_mul_imm_cand (gimple gs, tree base_in, tree stride_in, bool speed)
       base = base_in;
       index = double_int_zero;
       stride = stride_in;
-      ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+      ctype = TREE_TYPE (base_in);
     }
 
   c = alloc_cand_and_find_basis (CAND_MULT, gs, base, index, stride,
@@ -828,7 +828,7 @@ create_add_ssa_cand (gimple gs, tree base_in, tree addend_in,
          if (subtract_p)
            index = double_int_neg (index);
          stride = addend_cand->base_expr;
-         ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+         ctype = TREE_TYPE (base_in);
          if (has_single_use (addend_in))
            savings = (addend_cand->dead_savings
                       + stmt_cost (addend_cand->cand_stmt, speed));
@@ -877,7 +877,7 @@ create_add_ssa_cand (gimple gs, tree base_in, tree addend_in,
                  index = tree_to_double_int (subtrahend_cand->stride);
                  index = double_int_neg (index);
                  stride = subtrahend_cand->base_expr;
-                 ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+                 ctype = TREE_TYPE (base_in);
                  if (has_single_use (addend_in))
                    savings = (subtrahend_cand->dead_savings 
                               + stmt_cost (subtrahend_cand->cand_stmt, speed));
@@ -903,7 +903,7 @@ create_add_ssa_cand (gimple gs, tree base_in, tree addend_in,
       base = base_in;
       index = subtract_p ? double_int_minus_one : double_int_one;
       stride = addend_in;
-      ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+      ctype = TREE_TYPE (base_in);
     }
 
   c = alloc_cand_and_find_basis (CAND_ADD, gs, base, index, stride,
@@ -968,7 +968,7 @@ create_add_imm_cand (gimple gs, tree base_in, double_int index_in, bool speed)
       base = base_in;
       index = index_in;
       stride = integer_one_node;
-      ctype = TREE_TYPE (SSA_NAME_VAR (base_in));
+      ctype = TREE_TYPE (base_in);
     }
 
   c = alloc_cand_and_find_basis (kind, gs, base, index, stride,
@@ -990,7 +990,7 @@ slsr_process_add (gimple gs, tree rhs1, tree rhs2, bool speed)
       /* First record an interpretation assuming RHS1 is the base expression
         and RHS2 is the stride.  But it doesn't make sense for the
         stride to be a pointer, so don't record a candidate in that case.  */
-      if (!POINTER_TYPE_P (TREE_TYPE (SSA_NAME_VAR (rhs2))))
+      if (!POINTER_TYPE_P (TREE_TYPE (rhs2)))
        {
          c = create_add_ssa_cand (gs, rhs1, rhs2, subtract_p, speed);
 
@@ -1007,7 +1007,7 @@ slsr_process_add (gimple gs, tree rhs1, tree rhs2, bool speed)
       /* Otherwise, record another interpretation assuming RHS2 is the
         base expression and RHS1 is the stride, again provided that the
         stride is not a pointer.  */
-      if (!POINTER_TYPE_P (TREE_TYPE (SSA_NAME_VAR (rhs1))))
+      if (!POINTER_TYPE_P (TREE_TYPE (rhs1)))
        {
          c2 = create_add_ssa_cand (gs, rhs2, rhs1, false, speed);
          if (c)
index 830980a20f0c6bc032f992618e58fab4b0dbec45..6fe561369606ee2309d7773f8d1f09460ebd8233 100644 (file)
@@ -976,11 +976,10 @@ update_type_size (struct matrix_info *mi, gimple stmt, tree ssa_var,
     {
       lhs = gimple_assign_lhs (stmt);
       gcc_assert (POINTER_TYPE_P
-                 (TREE_TYPE (SSA_NAME_VAR (TREE_OPERAND (lhs, 0)))));
+                 (TREE_TYPE (TREE_OPERAND (lhs, 0))));
       type_size =
        int_size_in_bytes (TREE_TYPE
-                          (TREE_TYPE
-                           (SSA_NAME_VAR (TREE_OPERAND (lhs, 0)))));
+                          (TREE_TYPE (TREE_OPERAND (lhs, 0))));
     }
   else
     type_size = int_size_in_bytes (TREE_TYPE (ssa_var));
index 7c695185096f6dd51c0da2ccb4aa60cb8d7db70e..56d375a3ce3bb9f3f7193f071be48337e31bd4d5 100644 (file)
@@ -425,7 +425,7 @@ if_convertible_phi_p (struct loop *loop, basic_block bb, gimple phi)
   /* When the flag_tree_loop_if_convert_stores is not set, check
      that there are no memory writes in the branches of the loop to be
      if-converted.  */
-  if (!is_gimple_reg (SSA_NAME_VAR (gimple_phi_result (phi))))
+  if (!is_gimple_reg (gimple_phi_result (phi)))
     {
       imm_use_iterator imm_iter;
       use_operand_p use_p;
@@ -1277,7 +1277,7 @@ predicate_scalar_phi (gimple phi, tree cond,
 
   res = gimple_phi_result (phi);
   /* Do not handle virtual phi nodes.  */
-  if (!is_gimple_reg (SSA_NAME_VAR (res)))
+  if (!is_gimple_reg (res))
     return;
 
   bb = gimple_bb (phi);
index ba716f5cbc0d64baac28025cd33324042abb1203..ae6027b8a80dd04f20460ad1e952d725a26e6db0 100644 (file)
@@ -237,7 +237,6 @@ remap_ssa_name (tree name, copy_body_data *id)
       insert_decl_map (id, name, new_tree);
       SSA_NAME_OCCURS_IN_ABNORMAL_PHI (new_tree)
        = SSA_NAME_OCCURS_IN_ABNORMAL_PHI (name);
-      TREE_TYPE (new_tree) = TREE_TYPE (SSA_NAME_VAR (new_tree));
       /* At least IPA points-to info can be directly transferred.  */
       if (id->src_cfun->gimple_df
          && id->src_cfun->gimple_df->ipa_pta
index 983099454bec30eb9f1c4d2076e47685f33a782f..ceb816d286d6dd722e77737148b32c330e4ff77e 100644 (file)
@@ -762,7 +762,7 @@ eliminate_useless_phis (void)
         {
          gimple phi = gsi_stmt (gsi);
          result = gimple_phi_result (phi);
-         if (!is_gimple_reg (SSA_NAME_VAR (result)))
+         if (!is_gimple_reg (result))
            {
 #ifdef ENABLE_CHECKING
              size_t i;
@@ -772,7 +772,7 @@ eliminate_useless_phis (void)
                {
                  tree arg = PHI_ARG_DEF (phi, i);
                  if (TREE_CODE (arg) == SSA_NAME
-                     && is_gimple_reg (SSA_NAME_VAR (arg)))
+                     && is_gimple_reg (arg))
                    {
                      fprintf (stderr, "Argument of PHI is not virtual (");
                      print_generic_expr (stderr, arg, TDF_SLIM);
index d8dbc212e6bbfb331174d473a7ecf16bae3224da..9ccf7dfb3e5b26ed22dc378a4532626efba7346f 100644 (file)
@@ -837,7 +837,7 @@ separate_decls_in_region_name (tree name,
       copy = name;
     }
 
-  SSA_NAME_VAR (copy) = var_copy;
+  replace_ssa_name_symbol (copy, var_copy);
   return copy;
 }
 
index 1d7c2a57312b3234ff29fcc950a54aed100df7c6..1cde8bd9ee0919e6ff8513c246f085d7b126851e 100644 (file)
@@ -1862,7 +1862,7 @@ base_names_in_chain_on (struct loop *loop, tree name, tree var)
   gimple stmt, phi;
   imm_use_iterator iter;
 
-  SSA_NAME_VAR (name) = var;
+  replace_ssa_name_symbol (name, var);
 
   while (1)
     {
@@ -1880,7 +1880,7 @@ base_names_in_chain_on (struct loop *loop, tree name, tree var)
        return;
 
       name = PHI_RESULT (phi);
-      SSA_NAME_VAR (name) = var;
+      replace_ssa_name_symbol (name, var);
     }
 }
 
index 0d676ccabb34839cc833b52aedb23ac994ce3507..e02d729803171e29e5f449d4b56c1abc64ee8e73 100644 (file)
@@ -332,7 +332,7 @@ rename_ssa_copies (void)
          res = gimple_phi_result (phi);
 
          /* Do not process virtual SSA_NAMES.  */
-         if (!is_gimple_reg (SSA_NAME_VAR (res)))
+         if (!is_gimple_reg (res))
            continue;
 
           for (i = 0; i < gimple_phi_num_args (phi); i++)
index e4e6458d3222afb843bc4dbe5fd3d0ce1fa4fc4e..869269603d83b41c8af7cfe7373ac3c45cae71f7 100644 (file)
@@ -1199,7 +1199,7 @@ void
 register_ssa_partition_check (tree ssa_var)
 {
   gcc_assert (TREE_CODE (ssa_var) == SSA_NAME);
-  if (!is_gimple_reg (SSA_NAME_VAR (ssa_var)))
+  if (!is_gimple_reg (ssa_var))
     {
       fprintf (stderr, "Illegally registering a virtual SSA name :");
       print_generic_expr (stderr, ssa_var, TDF_SLIM);
index 179ceb7c74ed408b4c2b52ff340551b37b903a90..5b301f6df8ba7d495d7442eb4d8079ddaf857808 100644 (file)
@@ -234,7 +234,7 @@ phi_rank (gimple stmt)
 
   /* Ignore virtual SSA_NAMEs.  */
   res = gimple_phi_result (stmt);
-  if (!is_gimple_reg (SSA_NAME_VAR (res)))
+  if (!is_gimple_reg (res))
     return bb_rank[bb->index];
 
   /* The phi definition must have a single use, and that use must be
index 5c229e942676b329f2beb95c8a70231ae7af129e..060ca8aa1abecac76dc5ccdd818fc7670105fa8d 100644 (file)
@@ -2736,14 +2736,14 @@ get_constraint_for_ssa_var (tree t, VEC(ce_s, heap) **results, bool address_p)
   varinfo_t vi;
 
   /* We allow FUNCTION_DECLs here even though it doesn't make much sense.  */
-  gcc_assert (SSA_VAR_P (t) || DECL_P (t));
+  gcc_assert (TREE_CODE (t) == SSA_NAME || DECL_P (t));
 
   /* For parameters, get at the points-to set for the actual parm
      decl.  */
   if (TREE_CODE (t) == SSA_NAME
+      && SSA_NAME_IS_DEFAULT_DEF (t)
       && (TREE_CODE (SSA_NAME_VAR (t)) == PARM_DECL
-         || TREE_CODE (SSA_NAME_VAR (t)) == RESULT_DECL)
-      && SSA_NAME_IS_DEFAULT_DEF (t))
+         || TREE_CODE (SSA_NAME_VAR (t)) == RESULT_DECL))
     {
       get_constraint_for_ssa_var (SSA_NAME_VAR (t), results, address_p);
       return;
index aaf804ae7f3243e9b9d29fb2881f5d76ae070f8f..65d939d0ffd5502c9acdfc3760ad9e3465742468 100644 (file)
@@ -1658,7 +1658,7 @@ vect_can_advance_ivs_p (loop_vec_info loop_vinfo)
       /* Skip virtual phi's. The data dependences that are associated with
          virtual defs/uses (i.e., memory accesses) are analyzed elsewhere.  */
 
-      if (!is_gimple_reg (SSA_NAME_VAR (PHI_RESULT (phi))))
+      if (!is_gimple_reg (PHI_RESULT (phi)))
        {
          if (vect_print_dump_info (REPORT_DETAILS))
            fprintf (vect_dump, "virtual phi. skip.");
@@ -1788,7 +1788,7 @@ vect_update_ivs_after_vectorizer (loop_vec_info loop_vinfo, tree niters,
         }
 
       /* Skip virtual phi's.  */
-      if (!is_gimple_reg (SSA_NAME_VAR (PHI_RESULT (phi))))
+      if (!is_gimple_reg (PHI_RESULT (phi)))
        {
          if (vect_print_dump_info (REPORT_DETAILS))
            fprintf (vect_dump, "virtual phi. skip.");
index cdd3def29748559fcd125b25cc8c63c7c977bca7..cd8c3afb1c7618afd1a142680ca24c8c77cd14b8 100644 (file)
@@ -555,7 +555,7 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, struct loop *loop)
 
       /* Skip virtual phi's.  The data dependences that are associated with
          virtual defs/uses (i.e., memory accesses) are analyzed elsewhere.  */
-      if (!is_gimple_reg (SSA_NAME_VAR (def)))
+      if (!is_gimple_reg (def))
        continue;
 
       STMT_VINFO_DEF_TYPE (stmt_vinfo) = vect_unknown_def_type;
@@ -604,7 +604,7 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, struct loop *loop)
           print_gimple_stmt (vect_dump, phi, 0, TDF_SLIM);
         }
 
-      gcc_assert (is_gimple_reg (SSA_NAME_VAR (def)));
+      gcc_assert (is_gimple_reg (def));
       gcc_assert (STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_unknown_def_type);
 
       nested_cycle = (loop != LOOP_VINFO_LOOP (loop_vinfo));