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)