Redundancy elimination, and how to prevent bindings from being floated.
Ben Lippmeier
benl at ouroborus.net
Mon Feb 21 08:30:29 CET 2011
On 18/02/2011, at 9:41 PM, Roman Leshchinskiy wrote:
> Ben Lippmeier wrote:
>>
>> Another idea would be to add some primops like the following:
>>
>>
>> noopInt# :: Int# -> State# s -> State# s
>> noopFloat# :: Float# -> State# s -> State# s
>> ...
>
> Have a look at GHC.Prim.touch#. Note that it's special and can be
> instantiated with unboxed types, too.
Great thanks, That's done the trick.
However, I was doing this on i386, and have now run out of registers. The gains I made due to sharing of indexing computations have been taken back by spill/reloads. I'll try on x86_64 next and let you know how it goes.
Ben.
More information about the Cvs-ghc
mailing list