[Bug target/52684] [4.7 regression] glibc long double math tests fail on sparc 64-bit

davem at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 2 07:24:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52684

--- Comment #8 from davem at gcc dot gnu.org 2012-05-02 07:23:56 UTC ---
I can't see how the current DSE code can properly handle this case, and I'm
surprised this doesn't trigger more often.

The outgoing args are stored to offsets of FRAME_POINTER_REGNUM, even
though this is before reload.  This causes DSE to set ->frame_related

However I can't see anything that takes into account that these locations in
the frame are read by the CALL_INSN.

There is some weird commentary in the description of the insn_info->frame_read
field in dse.c which talks about how "the stores related to outgoing arguments
are stack pointer based and thus deemed of non-constant base in this pass" but
as explained above that is simply not true here.



More information about the Gcc-bugs mailing list