------- Comment #2 from rguenth at gcc dot gnu dot org 2007-02-15 09:56 -------
Confirmed:
#1 0x0000000000cffee3 in vect_get_vec_def_for_stmt_copy (
dt=vect_induction_def, vec_oprnd=0x2abeb1648480)
at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:901
901 gcc_assert (TREE_CODE (vec_stmt_for_operand) == PHI_NODE);
(gdb) call debug_generic_expr (vec_oprnd)
vect_vec_iv_.651_2519
we're trying to vectorize
#2 0x0000000000d0a06d in vectorizable_store (stmt=0x2abeb1570a50,
bsi=0x7ffffa0cc910, vec_stmt=0x7ffffa0cc7e0)
at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:3229
3229 vec_oprnd = vect_get_vec_def_for_stmt_copy (dt,
(gdb) call debug_generic_expr (stmt)
# runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder }
runningOrder[i_2611] = i_2611
in
(gdb) call debug_bb (bb_for_stmt (stmt))
;; basic block 36, loop depth 1, count 0
;; prev block 391, next block 37
;; pred: 391 [100.0%] (fallthru) 37 [100.0%] (fallthru,exec)
;; succ: 37 [99.0%] (true,exec) 38 [1.0%] (loop_exit,false,exec)
# ivtmp.658_2514 = PHI <vect_prunningOrder.653_2515(391), ivtmp.658_2513(37)>
# vect_vec_iv_.651_2522 = PHI <vect_cst_.649_2524(391),
vect_vec_iv_.651_2521(37)>
# ivtmp.645_2529 = PHI <vect_pbigDone.640_2530(391), ivtmp.645_2528(37)>
# ivtmp.635_2540 = PHI <256(391), ivtmp.635_2539(37)>
# bigDone_2602 = PHI <bigDone_2284(D)(391), bigDone_2293(37)>
# runningOrder_2603 = PHI <runningOrder_2283(D)(391), runningOrder_2294(37)>
# i_2611 = PHI <0(391), i_336(37)>
<L416>:;
# bigDone_2293 = VDEF <bigDone_2602> { bigDone }
*ivtmp.645_2529 = vect_cst_.639_2532;
vect_vec_iv_.651_2521 = vect_vec_iv_.651_2522 + vect_cst_.650_2523;
vect_vec_iv_.651_2519 = vect_vec_iv_.651_2522 + vect_cst_.652_2520;
vect_vec_iv_.651_2518 = vect_vec_iv_.651_2519 + vect_cst_.652_2520;
vect_vec_iv_.651_2517 = vect_vec_iv_.651_2518 + vect_cst_.652_2520;
# runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder }
*ivtmp.658_2514 = vect_vec_iv_.651_2522;
ivtmp.658_2512 = ivtmp.658_2514 + 16B;
# runningOrder_2511 = VDEF <runningOrder_2603> { runningOrder }
*ivtmp.658_2512 = vect_vec_iv_.651_2519;
# runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder }
runningOrder[i_2611] = i_2611;
i_336 = i_2611 + 1;
ivtmp.635_2539 = ivtmp.635_2540 - 1;
ivtmp.645_2528 = ivtmp.645_2529 + 16B;
ivtmp.658_2513 = ivtmp.658_2512 + 16B;
if (ivtmp.635_2539 != 0) goto <L509>; else goto <L510>;
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dorit at il dot ibm dot com
Keywords| |ice-on-valid-code
Summary|ice for legal code with - |[4.3 Regression] ice for
|ftree-vectorize -O2 |legal code with -ftree-
| |vectorize -O2
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30795