[GHC] #8256: adding locality levels to prefetch# and friends
GHC
ghc-devs at haskell.org
Sat Sep 14 19:40:48 CEST 2013
#8256: adding locality levels to prefetch# and friends
-------------------------------------+------------------------------------
Reporter: carter | Owner: carter
Type: task | Status: patch
Priority: normal | Milestone: 7.8.1
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets: #8252 ,#8107
-------------------------------------+------------------------------------
Comment (by thoughtpolice):
This patch looks to be mostly in pretty good shape, so I think it can go
in with a little more work.
In regards to point 1 from @tibbe, IMO it's perfectly reasonable to just
have the code generator emit an empty piece of code for the other
backends. prefetch can't change the semantics, only the performance - so
simply emitting a no-op in the other backends is a perfectly legitimate
thing to do, and easy. I'm not aware of any hardware we support where
prefetching isn't strictly an optimization.
As for names? I don't really mind that much. The usage of the 0-3
constants for locality argument comes from GCC, where `__builtin_prefetch`
has a locality argument ranging from 0 to 3. There is no real mnemonic
here: 3 means it should be left in cache if possible as it has high
locality, 0 means it can be evicted after access (low locality,) and 1-2
are just "somewhere inbetween 0 and 3." I imagine LLVM inherited this
convention from GCC, and I'm not sure what else we could sensibly call
them.
That said, we do need a test, and the primops need docs. There are also a
lot of typos and random comments laying around which would be nice to get
cleaned up (mostly punctuation, stuff like that.)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8256#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list