[Bug tree-optimization/30318] VRP does not create ANTI_RANGEs on overflow

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat May 5 14:38:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30318

--- Comment #12 from Marc Glisse <glisse at gcc dot gnu.org> 2012-05-05 13:43:04 UTC ---
Er, sorry, don't know what key I accidentally pressed but it apparently sent
incomplete messages :-(

(In reply to comment #10)
> Now for the testcases... ;)

Yes, that was also my reaction when I looked at the patch...

> Seriously, I have no idea what's the "policy" about
> this kind of optimization, how many testcases are normally added, in principle
> if one wanted to minimally exercise every code path would be dozens, I guess.

You can test several almost at once, but yes, that's still quite a few.
Richard's old patch has some tests, and more importantly some nice framework to
write more.

> Personally I would be more interested in knowing how many times the new code
> triggers in eg, a bootstrap.

Some of the code (the quad_* stuff, the double_int overflow checks) is only for
__int128, so not tested a lot. On the other hand, any +/-/* operation on
unsigned types (and many on signed types, because some other pass replaces them
with unsigned) exercises this code. In a first version, because of a typo, I
ended up with a bootstrap failure caused by a miscompiled gengtype that would
create files named "gt-c-family-.h" without the "c-common" part inserted...



More information about the Gcc-bugs mailing list