https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501
--- Comment #91 from Vladislav Ivanishin <vlad at ispras dot ru> --- > --- Comment #90 from Eric Gallager <egallager at gcc dot gnu.org> --- > At Cauldron, Vladislav Ivanishin said in his lightning talk that ISP > RAS has a patch to fix this. Well, I also said that this patch is not meant to go into the mainline compiler, because it trades off compiler speed for fixing this (actually, for suppressing tons of false positives that inevitably arise from doing that; see comment 32 by Richi). Adding / moving around transformation passes also affects the resulting code, and I have no data to see what the actual impact is. We did this to have as few false negatives as possible (and a sane number of false positives) - and GCC is prioritizing not having false positives a.k.a. spurious warnings. One possible solution would be to teach the CCP pass to lay off of uninitialized values and not merge them into constants (I don't know whether that's desirable and also I don't have a patch for that, though it would be interesting to try). Anyway, you are right in that this kind of effort should be documented in this bug. I've already sent the slides to Simon. They should appear shortly on the cauldron's wiki page. Thanks