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

Reply via email to