Straight-line single assignment in C--
Simon Marlow
marlowsd at gmail.com
Mon Jan 23 11:01:47 CET 2012
On 21/01/2012 20:39, Edward Z. Yang wrote:
> Excerpts from Edward Z. Yang's message of Fri Jan 20 23:44:02 -0500 2012:
>> If multiple assignment is rare enough in straight line code, I might
>> be able to take the conservative approach and just say
>>
>> a -> used multiple times
>>
>> Which I don't think will cause any problems in the inlining step later.
>> But I don't have a good sense for this.
>
> I realized the answer to my question, which is YES. In particular, the
> spill-reload step will result in this happening. Back to the drawing board...
In the old code generator we generated SSA code, by virtue of (a) never
having loops and (b) never reusing LocalRegs. In fact I think the
mini-inliner in CmmOpt relies on this property.
It's a useful property to have - perhaps we should have it in the new
codegen too? (modulo loops of course, I'm not suggesting we introduce
Phi nodes)
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list