re PR tree-optimization/18425 (ICE in vector.tcc when -ftree-vectorize enabled)

2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
            Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18425
        * tree-vectorize.c (vect_build_loop_niters): Do not insert
        NULL into the instruction stream. Initialize new_bb to NULL.
        (vect_update_ivs_after_vectorizer): Likewise.
        (vect_gen_niters_for_prolog_loop): Likewise.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r90625
This commit is contained in:
Dorit Naishlos 2004-11-14 18:25:33 +00:00 committed by Dorit Nuzman
parent 9beeb4ee4c
commit 4951c3fd4c
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18425
* tree-vectorize.c (vect_build_loop_niters): Do not insert
NULL into the instruction stream. Initialize new_bb to NULL.
(vect_update_ivs_after_vectorizer): Likewise.
(vect_gen_niters_for_prolog_loop): Likewise.
2004-11-14 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/18431

View File

@ -2684,7 +2684,7 @@ vect_build_loop_niters (loop_vec_info loop_vinfo)
{
tree ni_name, stmt, var;
edge pe;
basic_block new_bb;
basic_block new_bb = NULL;
struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
tree ni = unshare_expr (LOOP_VINFO_NITERS(loop_vinfo));
@ -2702,7 +2702,8 @@ vect_build_loop_niters (loop_vec_info loop_vinfo)
ni_name = force_gimple_operand (ni, &stmt, false, var);
pe = loop_preheader_edge (loop);
new_bb = bsi_insert_on_edge_immediate (pe, stmt);
if (stmt)
new_bb = bsi_insert_on_edge_immediate (pe, stmt);
if (new_bb)
add_bb_to_loop (new_bb, EDGE_PRED (new_bb, 0)->src->loop_father);
@ -3115,7 +3116,8 @@ vect_gen_niters_for_prolog_loop (loop_vec_info loop_vinfo, tree niters)
/* Insert stmt on loop preheader edge. */
pe = loop_preheader_edge (loop);
new_bb = bsi_insert_on_edge_immediate (pe, stmt);
if (stmt)
new_bb = bsi_insert_on_edge_immediate (pe, stmt);
if (new_bb)
add_bb_to_loop (new_bb, EDGE_PRED (new_bb, 0)->src->loop_father);