On Mon, Jan 9, 2012 at 11:33 AM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> Can you get me a testcase that I can compile?  This should be fixed in FRE.
>
> This is gnat.dg/pack9.ad[sb].  You need a bare cross-compiler to s390x-linux:
> configure, build with make CFLAGS=-g, when the build fails, do gcc/ada then
> make gnatlib.  Go back to the build dir, copy gnat.dg/pack9.ad[sb] and do:
>
> gcc/xgcc -Bgcc -S -O2 -gnatp pack9.adb -Igcc/ada/rts -fdump-tree-optimized
>
> The .optimized dump shouldn't contain any call to gnat_rcheck_21.
>
>
> If you install a change, please mention PR tree-optimization/51775.  TIA.

Hmm, it seems to be because we do not value-number loads that
satisfy stmt_could_throw_p (for whatever reason ...).  Seems to date
back to rev. 131610, the fix for PR34648.  Looking at that bug it
seems that we could at least allow stmts that only throw externally
(but generally CSE should still work, so value-number them when
we are doing FRE but not PRE).

Richard.

> --
> Eric Botcazou

Reply via email to