Proposed doc update for Explicit Reg Vars 3/3

Jeff Law law@redhat.com
Tue Oct 20 16:00:00 GMT 2015


On 10/20/2015 09:13 AM, Segher Boessenkool wrote:
> On Mon, Oct 19, 2015 at 11:22:06PM -0600, Jeff Law wrote:
>> WRT your hope to limit this to only uses in extended asms.  That'd be
>> nice, but that's never been an explicit limitation.  I would strongly
>> hesitate to add that limitation at this point in time.
>
> r88265 (from 2004) made explicit that local register asm only has a
> guaranteed effect on asm operands.  Since no other effect is guaranteed
> we may as well not document those at all.  Bug reports do still come in
> about this.
I'm still trying to figure out why I'm not comfortable with dropping all 
the other stuff and explicitly stating that the only legitimate use is 
in extended asms.  I guess I'm gun-shy given the grief we've taken 
through the years when we've tightened down other extensions.

But the technical reality is I can't see a use outside the extended asm. 
  In the past we waffled a bit and said things like "if the object it 
not live, then the register might be re-used for another purpose".  But 
even at a point where the object is live, it could as you mentioned be 
on the stack.  It could also be shuffled into a different register by 
way of range splitting, or inheritance, copy propagation, etc.

Maybe it *is* time to bite the bullet and greatly simplify the local 
case, dealing with any blow-back we get along the way.

Jeff



More information about the Gcc mailing list