Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard.
2016-01-13 Richard Biener <rguent...@suse.de> PR tree-optimization/69013 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): Exchange assert for a test. Index: gcc/tree-ssa-uninit.c =================================================================== --- gcc/tree-ssa-uninit.c (revision 232315) +++ gcc/tree-ssa-uninit.c (working copy) @@ -1093,19 +1093,21 @@ prune_uninit_phi_opnds_in_unrealizable_p edge opnd_edge; unsigned uninit_opnds2 = compute_uninit_opnds_pos (opnd_def_phi); - pred_chain_union def_preds = vNULL; - bool ok; - gcc_assert (!MASK_EMPTY (uninit_opnds2)); - opnd_edge = gimple_phi_arg_edge (phi, i); - ok = is_use_properly_guarded (phi, - opnd_edge->src, - opnd_def_phi, - uninit_opnds2, - &def_preds, - visited_phis); - destroy_predicate_vecs (&def_preds); - if (!ok) - return false; + if (!MASK_EMPTY (uninit_opnds2)) + { + pred_chain_union def_preds = vNULL; + bool ok; + opnd_edge = gimple_phi_arg_edge (phi, i); + ok = is_use_properly_guarded (phi, + opnd_edge->src, + opnd_def_phi, + uninit_opnds2, + &def_preds, + visited_phis); + destroy_predicate_vecs (&def_preds); + if (!ok) + return false; + } } else return false;