rl78 vs cse vs memory_address_addr_space

Jeff Law law@redhat.com
Mon Jul 6 20:25:00 GMT 2015


On 07/01/2015 10:14 PM, DJ Delorie wrote:
> In this bit of code in explow.c:
>
>    /* By passing constant addresses through registers
>       we get a chance to cse them.  */
>    if (! cse_not_expected && CONSTANT_P (x) && CONSTANT_ADDRESS_P (x))
>      x = force_reg (address_mode, x);
>
> On the rl78 it results in code that's a bit too complex for later
> passes to be optimized fully.  Is there any way to indicate that the
> above force_reg() is bad for a particular target?
I believe this used to be conditional on -fforce-mem or -fforce-reg or 
some such option that we deprecated long ago.

It'd be helpful if you could be more specific about what can't be 
handled.  combine for example was extended to handle larger chains of 
insns not terribly long ago.

jeff



More information about the Gcc mailing list