Preserve even more alais info with IVOPTs

Submitted by Richard Guenther on July 5, 2010, 4:05 p.m.

Details

Message ID alpine.LNX.2.00.1007051804470.1429@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Guenther July 5, 2010, 4:05 p.m.
Bootstrapped and tested on x86_64-unknown-linux-gnu, committed.

Richard.

2010-07-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy
	alias info.

Patch hide | download patch | download mbox

Index: gcc/tree-ssa-loop-ivopts.c
===================================================================
--- gcc/tree-ssa-loop-ivopts.c	(revision 161840)
+++ gcc/tree-ssa-loop-ivopts.c	(working copy)
@@ -5486,8 +5486,12 @@  rewrite_use_nonlinear_expr (struct ivopt
 	     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)
     {