[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