This fixes an ICE I am seeing with local changes - the definition stmt of an SSA name is never "NULL", but it is a GIMPLE_NOP if it does not have a definition. Those are the stmts that are not associated with any basic-block.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2013-09-05 Richard Biener <rguent...@suse.de> * tree-vect-loop.c (vect_analyze_loop_operations): Properly check for a definition without a basic-block. Index: gcc/tree-vect-loop.c =================================================================== *** gcc/tree-vect-loop.c (revision 202240) --- gcc/tree-vect-loop.c (working copy) *************** vect_analyze_loop_operations (loop_vec_i *** 1384,1390 **** return false; op_def_stmt = SSA_NAME_DEF_STMT (phi_op); ! if (!op_def_stmt || !flow_bb_inside_loop_p (loop, gimple_bb (op_def_stmt)) || !vinfo_for_stmt (op_def_stmt)) return false; --- 1384,1390 ---- return false; op_def_stmt = SSA_NAME_DEF_STMT (phi_op); ! if (gimple_nop_p (op_def_stmt) || !flow_bb_inside_loop_p (loop, gimple_bb (op_def_stmt)) || !vinfo_for_stmt (op_def_stmt)) return false;