[commit: ghc] master: Add support for prefetch with locality levels. (fd74014)
git at git.haskell.org
git
Wed Oct 2 05:54:53 UTC 2013
Repository : ssh://git at git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/fd74014079f14bd3ab50e328e52c44ef97d40e05/ghc
>---------------------------------------------------------------
commit fd74014079f14bd3ab50e328e52c44ef97d40e05
Author: Austin Seipp <austin at well-typed.com>
Date: Tue Oct 1 21:13:14 2013 -0500
Add support for prefetch with locality levels.
This patch adds support for several new primitive operations which
support using processor-specific instructions to help guide data and
cache locality decisions. We have levels ranging from [0..3]
For LLVM, we generate llvm.prefetch intrinsics at the proper locality
level (similar to GCC.)
For x86 we generate prefetch{NTA, t2, t1, t0} instructions. On SPARC and
PowerPC, the locality levels are ignored.
This closes #8256.
Authored-by: Carter Tazio Schonwald <carter.schonwald at gmail.com>
Signed-off-by: Austin Seipp <austin at well-typed.com>
>---------------------------------------------------------------
fd74014079f14bd3ab50e328e52c44ef97d40e05
compiler/cmm/CmmMachOp.hs | 8 ++-
compiler/cmm/CmmParse.y | 10 +++-
compiler/cmm/PprC.hs | 4 +-
compiler/codeGen/StgCmmPrim.hs | 53 ++++++++++---------
compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 11 ++--
compiler/nativeGen/PPC/CodeGen.hs | 5 +-
compiler/nativeGen/SPARC/CodeGen.hs | 7 ++-
compiler/nativeGen/X86/CodeGen.hs | 23 ++++++++-
compiler/nativeGen/X86/Instr.hs | 16 +++++-
compiler/nativeGen/X86/Ppr.hs | 12 +++++
compiler/prelude/primops.txt.pp | 85 ++++++++++++++++++++++++++++---
11 files changed, 189 insertions(+), 45 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc fd74014079f14bd3ab50e328e52c44ef97d40e05
More information about the ghc-commits
mailing list