------- Comment #2 from rguenth at gcc dot gnu dot org  2007-12-12 20:00 -------
Confirmed.  Breaks with -O -ftree-vectorize -msse2 because we don't have a cost
for

(gdb) call debug_generic_expr (stmt)
th_lsm.41_62 = th.6_55

(gdb) print *stmt_info
$2 = {type = undef_vec_info_type, stmt = 0xb7cfbb98, loop_vinfo = 0x8c640f0, 
  relevant = vect_unused_in_loop, live = 1 '\001', vectype = 0xb7cd3750, 
  vectorized_stmt = 0x0, data_ref_info = 0x0, dr_base_address = 0x0, 
  dr_init = 0x0, dr_offset = 0x0, dr_step = 0x0, dr_aligned_to = 0x0, 
  in_pattern_p = 0 '\0', related_stmt = 0x0, same_align_refs = 0x8c5f130, 
  def_type = vect_loop_def, first_dr = 0x0, next_dr = 0x0, size = 0, 
  store_count = 0, gap = 0, same_dr_stmt = 0x0, read_write_dep = 0 '\0', 
  cost = {outside_of_loop = 0, inside_of_loop = 0}, slp_type = loop_vect}


(gdb) up
#2  0x086a46d8 in vect_estimate_min_profitable_iters (loop_vinfo=0x8c640f0)
    at /home/richard/src/trunk/gcc/tree-vect-transform.c:206

199           for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si))
200             {
201               tree stmt = bsi_stmt (si);
202               stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
203               if (!STMT_VINFO_RELEVANT_P (stmt_info)
204                   && !STMT_VINFO_LIVE_P (stmt_info))
205                 continue;
206               scalar_single_iter_cost += cost_for_stmt (stmt) * factor;

so, the stmt is unused but live.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
 GCC target triplet|i386-apple-darwin8.11.1     |i?86-*-*
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-12 20:00:40
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34445

Reply via email to