This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is a case where we have a loop in which the counter is totally unused, except to count. Exit from the loop is triggered on an overflow trap when the counter is incremented (yes, compiled with -ftrapv - -fexceptions -fno-call-exceptions). GCC issues a checking failure after IV optimizations because we have a block with an EH edge, but IV opts have removed the IV increment which was the only statement which could trap. The fix is relatively simple, but a bit of a big hammer -- we just fail to recognize a statement that map trap as creating a IV. Thus the IV code won't delete the unused IV which keeps the CFG verifier happy and also keep the loop from running infinitely. Bootstrapped and regression tested on x86_64-pc-linux-gnu. OK for the trunk? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNK26UAAoJEBRtltQi2kC7+UkH/0YR38TJoS5+SjIkegmC4QvV gadkce4g0hRz7rO5kyH+yO1miCgo6ojFp9AMhz03gFUkvCmbdfSyJv04RXT3NcPG qwQS76XbEC3nSiXHI1OJGYF1lyFYAgysI34WTHvSAocxkWjdK3iswTp6p3xKRppV gOYSMD2IBaIupdlvJzKt3cCDUmmLrbHTJVQnvyixM/O4qumG6kbyJhX1YVER5aKi C516z2PbVrBQZpgmtk45b/sDzHzxuUzF1MuMqD6Ij8CxJZWpfR9WykjRPPMsCi0U uOjZXFf8UkGGa/r35NyfXVnBKu8LkKG3HN2W9yHIaJcP2qJBVfnD4y9JoWtoY00= =NQTg -----END PGP SIGNATURE-----
Attachment:
patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |