[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