OSDN Git Service

2004-11-14 Dorit Naishlos <dorit@il.ibm.com>
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Nov 2004 18:25:33 +0000 (18:25 +0000)
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Nov 2004 18:25:33 +0000 (18:25 +0000)
            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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90625 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-vectorizer.c

index 285c1be..601a136 100644 (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
index e1095f5..e013302 100644 (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);