[commit: ghc] master: LLVM: Implement atomic operations in terms of LLVM primitives (bd41eb2)

git at git.haskell.org git at git.haskell.org
Fri Oct 2 14:32:30 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/bd41eb2ad9507d3f408e25c8dece61f389f11a2a/ghc

>---------------------------------------------------------------

commit bd41eb2ad9507d3f408e25c8dece61f389f11a2a
Author: Ben Gamari <bgamari.foss at gmail.com>
Date:   Fri Oct 2 15:48:55 2015 +0200

    LLVM: Implement atomic operations in terms of LLVM primitives
    
    This fixes Trac #7883.
    
    This adds proper support for,
      * `MO_AtomicRMW`
      * `MO_AtomicWrite`
      * `MO_CmpXChg`
    
    Test Plan: Validate
    
    Reviewers: rrnewton, austin
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1282
    
    GHC Trac Issues: #7883


>---------------------------------------------------------------

bd41eb2ad9507d3f408e25c8dece61f389f11a2a
 compiler/llvmGen/Llvm.hs                |  3 ++
 compiler/llvmGen/Llvm/AbsSyn.hs         | 42 +++++++++++++++++++-
 compiler/llvmGen/Llvm/PpLlvm.hs         | 26 +++++++++++++
 compiler/llvmGen/Llvm/Types.hs          |  2 +-
 compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 68 ++++++++++++++++++++++++++-------
 5 files changed, 124 insertions(+), 17 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 bd41eb2ad9507d3f408e25c8dece61f389f11a2a


More information about the ghc-commits mailing list