This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR 47086] ICE: verify flow info failed
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 11 Jan 2011 11:31:37 +0100
- Subject: Re: [PR 47086] ICE: verify flow info failed
- References: <4D2B6E94.5010204@redhat.com>
On Mon, Jan 10, 2011 at 9:39 PM, Jeff Law <law@redhat.com> wrote:
> -----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?
Ok.
Thanks,
Richard.
>
> -----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-----
>