On 08/28/2018 05:40 PM, Segher Boessenkool wrote:
> On Mon, Aug 20, 2018 at 11:01:29AM -0600, Jeff Law wrote:
>> On 08/20/2018 10:50 AM, Paul Koning wrote:
>>> The internals manual seems to say that memory subregs are an old mechanism 
>>> that should still work, give or take.  If indeed it breaks LRA perhaps the 
>>> documentation should be updated to say that it is an obsolete mechanism 
>>> that no longer works and needs to be disabled.
>> It's definitely not something we encourage.  But many of the older ports
>> allow them.
>>
>> Essentially we know that subreg-mem will always need reloading.  We want
>> to expose those insns to the first scheduling pass, so we don't create
>> them when the port has any scheduling bits defined.  Even just a dummy
>> "everything is one cycle" description is sufficient.
>>
>> I'm not aware of anything that says you can't do subreg-mem with LRA.
>> It may be the case that you're dealing with the first port that's
>> tripped over this.
> 
> So it seems getting rid of subreg of mem does not fix the problems Paul
> was having.
> 
> Still.  Can we get rid of it completely?  Is there any reason left to
> allow subreg of mem?
Can't hurt to try.  Even some of the ancient ports that likely used to
exploit it (m68k) have pipeline descriptions and thus no longer depend
on it in any way shape or form.

I'd look favorably on a patch to kill (subreg (mem)).  Make sure to
update the docs at the same time.

Jeff

Reply via email to