[Bug tree-optimization/69013] [5/6 Regression] gfortran-5.3.0 ICE in prune_uninit_phi_opnds_in_unrealizable_paths, at tree-ssa-uninit.c:1121
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 8 08:53:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69013
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|error-recovery |
Status|NEW |ASSIGNED
CC| |xinliangli at gmail dot com
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Summary|[5 Regression] |[5/6 Regression]
|gfortran-5.3.0 ICE in |gfortran-5.3.0 ICE in
|prune_uninit_phi_opnds_in_u |prune_uninit_phi_opnds_in_u
|nrealizable_paths, at |nrealizable_paths, at
|tree-ssa-uninit.c:1121 |tree-ssa-uninit.c:1121
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
I dont' know the code good enough but the assert might be bogus? Thus
Index: gcc/tree-ssa-uninit.c
===================================================================
--- gcc/tree-ssa-uninit.c (revision 231672)
+++ gcc/tree-ssa-uninit.c (working copy)
@@ -1118,14 +1118,16 @@ prune_uninit_phi_opnds_in_unrealizable_p
edge opnd_edge;
unsigned uninit_opnds2
= compute_uninit_opnds_pos (opnd_def_phi);
- gcc_assert (!MASK_EMPTY (uninit_opnds2));
- opnd_edge = gimple_phi_arg_edge (phi, i);
- if (!is_use_properly_guarded (phi,
- opnd_edge->src,
- opnd_def_phi,
- uninit_opnds2,
- visited_phis))
- return false;
+ if (!MASK_EMPTY (uninit_opnds2))
+ {
+ opnd_edge = gimple_phi_arg_edge (phi, i);
+ if (!is_use_properly_guarded (phi,
+ opnd_edge->src,
+ opnd_def_phi,
+ uninit_opnds2,
+ visited_phis))
+ return false;
+ }
}
else
return false;
"fixes" it. Marking as 6 regression as well because it's clearly only latent.
A smaller testcase for easier investigation would be nice.
Not sure if David is still around...
More information about the Gcc-bugs
mailing list