https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112766

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Keywords|                            |missed-optimization
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so one uninit use occurs on the exceptional path from Result::Result()
during the initialization loop of the allocated array, this then has

<bb 25> [count: 0]:
# _71 = PHI <_58(21), _42(D)(6), _42(D)(45), _42(D)(14), _42(D)(24)>
# _72 = PHI <_85(21), _43(D)(6), _43(D)(45), _43(D)(14), _43(D)(24)>
# _73 = PHI <_44(D)(21), _44(D)(6), _41(45), _44(D)(14), _44(D)(24)>
# nElements.2_74 = PHI <_17(21), _17(6), nElements.2_47(D)(45),
nElements.2_47(D)(14), _17(24)>
# cleanup.4_75 = PHI <1(21), 0(6), 0(45), 0(14), 0(24)>
# nElements.6_76 = PHI <nElements.6_56(D)(21), nElements.6_56(D)(6), _17(45),
_17(14), nElements.6_56(D)(24)>
# cleanup.7_77 = PHI <0(21), 0(6), 1(45), 0(14), 0(24)>
<L47>:
resx 3  // goes to L25

<L25>:
if (cleanup.7_77 != 0)
  goto <bb 27>; [0.00%]
else
  goto <bb 46>; [0.00%]

but somehow we are not seeing that cleanup.7_77 is 0 on all the paths
n_Elements.6_76 are uninitialized.  (We're also not threading this
for unknown reasons, likely the threader not going up EH edges)

Reply via email to