re PR tree-optimization/51684 (ICE in gfortran.dg/maxloc_bounds_5 on ia64)

PR tree-optimization/51684
        * tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of
        original statement in case of a pattern.
        (vect_schedule_slp): Likewise.

From-SVN: r182705
This commit is contained in:
Ira Rosen 2011-12-28 09:20:16 +00:00 committed by Ira Rosen
parent 7786100420
commit a024e70ebe
2 changed files with 11 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2011-12-28 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/51684
* tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of original
statement in case of a pattern.
(vect_schedule_slp): Likewise.
2011-12-27 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/51667

View file

@ -2885,6 +2885,8 @@ vect_schedule_slp_instance (slp_tree node, slp_instance instance,
&& REFERENCE_CLASS_P (gimple_get_lhs (stmt)))
{
gimple last_store = vect_find_last_store_in_slp_instance (instance);
if (is_pattern_stmt_p (vinfo_for_stmt (last_store)))
last_store = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (last_store));
si = gsi_for_stmt (last_store);
}
@ -2989,6 +2991,8 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
if (!STMT_VINFO_DATA_REF (vinfo_for_stmt (store)))
break;
if (is_pattern_stmt_p (vinfo_for_stmt (store)))
store = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (store));
/* Free the attached stmt_vec_info and remove the stmt. */
gsi = gsi_for_stmt (store);
gsi_remove (&gsi, true);