[PR 47086] ICE: verify flow info failed
H.J. Lu
hjl.tools@gmail.com
Tue Feb 8 05:19:00 GMT 2011
On Mon, Jan 10, 2011 at 12: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?
>
This caused:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47640
--
H.J.
More information about the Gcc-patches
mailing list