Redundancy elimination, and how to prevent bindings from being floated.
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.
More information about the Cvs-ghc