aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-07-05 16:06:56 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-07-05 16:06:56 +0000
commitbdf0f819d51b7e0a5f758a721658536369b4fd7a (patch)
tree6e3ea01580542a83abe923c70db2b91759f307b0 /gcc
parenta41e5e86c0bbcb0dca6311a5e6dab8d7e005a076 (diff)
downloadgcc-bdf0f819d51b7e0a5f758a721658536369b4fd7a.zip
gcc-bdf0f819d51b7e0a5f758a721658536369b4fd7a.tar.gz
gcc-bdf0f819d51b7e0a5f758a721658536369b4fd7a.tar.bz2
tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
2010-07-05 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info. From-SVN: r161841
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-loop-ivopts.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f4ad907..737c89f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-07-05 Richard Guenther <rguenther@suse.de>
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
+ alias info.
+
+2010-07-05 Richard Guenther <rguenther@suse.de>
+
* tree.c (reference_alias_ptr_type): New function.
* tree.h (reference_alias_ptr_type): Declare.
* tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
index db56b93..d9362e5 100644
--- a/gcc/tree-ssa-loop-ivopts.c
+++ b/gcc/tree-ssa-loop-ivopts.c
@@ -5486,8 +5486,12 @@ rewrite_use_nonlinear_expr (struct ivopts_data *data,
to still. */
&& (get_gimple_rhs_num_ops (TREE_CODE (comp))
>= gimple_num_ops (gsi_stmt (bsi)))))
- comp = force_gimple_operand_gsi (&bsi, comp, false, SSA_NAME_VAR (tgt),
- true, GSI_SAME_STMT);
+ {
+ comp = force_gimple_operand_gsi (&bsi, comp, true, NULL_TREE,
+ true, GSI_SAME_STMT);
+ if (POINTER_TYPE_P (TREE_TYPE (tgt)))
+ duplicate_ssa_name_ptr_info (comp, SSA_NAME_PTR_INFO (tgt));
+ }
if (gimple_code (use->stmt) == GIMPLE_PHI)
{