aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-01-13 12:15:01 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-01-13 12:15:01 +0000
commit8bc47ae2a784685f79dca8d7d04135c939a49452 (patch)
tree57c444d3e18499aa6d1f729cd6f2a96bc25bf327 /gcc
parent95251c8380ee4d50242fc4ae886bf1c5ef6c9cd9 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/tree-ssa-uninit.c28
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;