subreg rtl documentation

Jeff Law law@redhat.com
Wed Apr 9 17:56:00 GMT 2008


Paolo Bonzini wrote:
> Bernd Schmidt wrote:
>> Jim Wilson wrote:
>>> On Tue, 2008-04-08 at 10:02 -0600, Jeff Law wrote:
>>>> I don't think we do.  reload makes a pass over all the insns calling 
>>>> cleanup_subreg_operands which ought to be zapping all the (subreg 
>>>> (mem)) thingies and replacing (subreg (hardreg)) with  (hardreg')
>>>
>>> But we also call cleanup_subreg_operands in final_scan_insn, right
>>> before emitting assembly code, which implies that some subregs might be
>>> slipping through.
>>
>> Are there any ports that do (subreg (match_operand "m"))?  We should 
>> probably explicitly outlaw that (or subregs of match_operand in general).
> 
> h8300 and s390, both for paradoxical subregs.  subreg of match_operand 
> is more widespread.
I just peeked at the H8 port -- god I forget how ugly that code is to 
read, makes me wish I'd rewritten then damn thing a decade or so ago 
when I actually worked on it.

I guess if there's a port which will tell us if post-reload subregs 
still exist, the H8 would be it...

Jeff



More information about the Gcc-patches mailing list