diff options
author | Richard Biener <rguenther@suse.de> | 2016-01-13 12:15:01 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-01-13 12:15:01 +0000 |
commit | 8bc47ae2a784685f79dca8d7d04135c939a49452 (patch) | |
tree | 57c444d3e18499aa6d1f729cd6f2a96bc25bf327 /gcc | |
parent | 95251c8380ee4d50242fc4ae886bf1c5ef6c9cd9 (diff) | |
download | gcc-8bc47ae2a784685f79dca8d7d04135c939a49452.zip gcc-8bc47ae2a784685f79dca8d7d04135c939a49452.tar.gz gcc-8bc47ae2a784685f79dca8d7d04135c939a49452.tar.bz2 |
re PR tree-optimization/69013 (gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unrealizable_paths, at tree-ssa-uninit.c:1121)
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69013
* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
Exchange assert for a test.
From-SVN: r232320
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-uninit.c | 28 |
2 files changed, 21 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab61dff..5be7ebf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-13 Richard Biener <rguenther@suse.de> + + PR tree-optimization/69013 + * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): + Exchange assert for a test. + 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/69247 diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c index d3a5844..ea3ceb8 100644 --- a/gcc/tree-ssa-uninit.c +++ b/gcc/tree-ssa-uninit.c @@ -1093,19 +1093,21 @@ prune_uninit_phi_opnds_in_unrealizable_paths (gphi *phi, 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; |