reload-branch created

Bernd Schmidt bernds_cb1@t-online.de
Sun Mar 20 19:50:00 GMT 2005


Ulrich Weigand wrote:

> - As mentioned in http://gcc.gnu.org/ml/gcc/2005-01/msg00911.html
>   there is a code path in find_reloads that sets rld[].inc to a
>   nonzero value even for a platform that doesn't actually *have*
>   pre-/post-increment insns, leading to an ICE later on.
> 
>   The patch below simply avoids setting .inc unless it was already
>   set to a nonzero value (by find_inc_amount).

This one I'm not sure about yet.
> 
> - As mentioned in http://gcc.gnu.org/ml/gcc/2005-01/msg01112.html
>   there are problems with reload ordering when optional reloads
>   are disabled, leading to address reload insns being emitted after
>   the main insn.
> 
>   The patch below is the same I suggested in that mail; it considers
>   such address reloads to feed into both the optional reload and 
>   the main insn in scan_rtx.

This problem will probably require more invasive surgery.

> - Finally, there is still a (new) problem in the latest version of
>   usable_for_inheritance: if an inherited register is chosen as
>   override-in because it is not suitable as reload register due
>   to HARD_REGNO_MODE_OK, it isn't even checked against the 
>   *usable_regs array.
> 
>   The patch below adds back that check (using inmode, not mode).

This is OK.  Would you check it in?


Bernd



More information about the Gcc mailing list