https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63311
--- Comment #8 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> --- (In reply to Richard Biener from comment #7) > Confirmed that it is ifcombine. Not sure if I'd call it wrong-code though. > > Note that there are no default-defs involved thus ifcombine doesn't see > must-uninits and disabling its transform when maybe-uninits are seen > is IMHO bogus. > > Not sure what to do about this one. There is no way to preserve evaluation > order (no andif / orif on gimple). just wondering if the 'target splitting the condition back' means if has a choice which of the two to evaluate first. Be means of heuristic, if one of the two conditions contains a 'maybe-uninit' and the other not, it is presumably best to evaluate the 'maybe-uninit' one at the second stage ? >From a usability point of view, I had to touch a couple of spots in our code to make valgrind testing possible again, so while I wouldn't call this wrong-code, it certainly is some user-visible behavior.