RFC/RFA: Fix bug with REE optimization corrupting extended registers
Jeff Law
law@redhat.com
Fri Nov 20 17:32:00 GMT 2015
On 11/20/2015 02:19 AM, Nick Clifton wrote:
> Hi Jeff,
>
>>> The code there would solve this problem, but the approach is is overly
>>> cautious, since it disables the optimization for all extensions that
>>> increase the number of hard registers used. Some of these will be
>>> viable candidates, provided that the extra hard registers are no used.
>>> (This is certainly true for the RL78, where the (patched) optimization
>>> does improve code, even though the widening does use extra registers).
>> Nick -- can you pass along your testcode?
>
> Sure - this is for the RL78 toolchain. In theory the problem is
> generic, but I have not tested other toolchains.
Right. It just really helps me to have something I can poke at -- it's
just the type of learner I am. I tried to trip the test in that #if
several times last year and never came up with anything. So naturally
if we can trip it with the rl78 I want to dig into it.
>
> Compile the gcc.c-torture/execute/pr42833.c or
> gcc.c-torture/execute/strct-stdarg-1.c tests at -O1 or higher with -free
> also specified on the command line. Without -free these tests pass.
> With -free they fail.
Perfect. Building rl78-elf cross bits as I type...
jeff
More information about the Gcc-patches
mailing list