[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 7 commits: winio: Add Atomic Exchange PrimOp and implement Atomic Ptr exchanges.

Marge Bot gitlab at gitlab.haskell.org
Sun Jun 14 13:35:04 UTC 2020



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
c0e6dee9 by Tamar Christina at 2020-06-14T09:07:44-04:00
winio: Add Atomic Exchange PrimOp and implement Atomic Ptr exchanges.

The initial version was rewritten by Tamar Christina.
It was rewritten in large parts by Andreas Klebinger.

Co-authored-by: Andreas Klebinger <klebinger.andreas at gmx.at>

- - - - -
a326842a by Ben Gamari at 2020-06-14T09:34:57-04:00
codeGen: Don't discard live case binders in unsafeEqualityProof logic

Previously CoreToStg would unconditionally discard cases of the form:

    case unsafeEqualityProof of wild { _ -> rhs }

and rather replace the whole thing with `rhs`. However, in some cases
(see #18227) the case binder is still live, resulting in unbound
occurrences in `rhs`. Fix this by only discarding the case if the case
binder is dead.

Fixes #18227.

- - - - -
ad47a5c6 by Ben Gamari at 2020-06-14T09:34:57-04:00
testsuite: Add tests for #18227

T18227A is the original issue which gave rise to the ticket and depends
upon bytestring. T18227B is a minimized reproducer.

- - - - -
17994686 by Ben Gamari at 2020-06-14T09:34:57-04:00
hadrian: Fix rts include and library paths

Fixes two bugs:

 * (?) and (<>) associated in a surprising way
 * We neglected to include libdw paths in the rts configure flags

- - - - -
ef7fc2bd by Ben Gamari at 2020-06-14T09:34:57-04:00
hadrian: Drop redundant GHC arguments

Cabal should already be passing this arguments to GHC.

- - - - -
e40060f8 by Peter Trommler at 2020-06-14T09:34:58-04:00
FFI: Fix pass small ints in foreign call wrappers

The Haskell calling convention requires integer parameters smaller
than wordsize to be promoted to wordsize (where the upper bits are
don't care). To access such small integer parameter read a word from
the parameter array and then cast that word to the small integer
target type.

Fixes #15933

- - - - -
a568464e by Krzysztof Gogolewski at 2020-06-14T09:34:58-04:00
Fix "ndecreasingIndentation" in manual (#18116)

- - - - -


30 changed files:

- aclocal.m4
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/MachOp.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/CPrim.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/SPARC/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/CoreToStg.hs
- compiler/GHC/HsToCore/Foreign/Decl.hs
- compiler/GHC/StgToCmm/Foreign.hs
- compiler/GHC/StgToCmm/Prim.hs
- configure.ac
- docs/users_guide/8.12.1-notes.rst
- docs/users_guide/flags.py
- hadrian/src/Settings/Packages.hs
- includes/stg/Prim.h
- libraries/base/GHC/Ptr.hs
- libraries/base/Unsafe/Coerce.hs
- libraries/ghc-prim/cbits/atomic.c
- libraries/ghc-prim/changelog.md
- rts/package.conf.in
- rts/rts.cabal.in
- + testsuite/tests/codeGen/should_compile/T18227A.hs
- + testsuite/tests/codeGen/should_compile/T18227B.hs
- testsuite/tests/codeGen/should_compile/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ef6eb9ded9a25771e2fdce448a7a688e297fc935...a568464e724702282eeebdfb0085285ce64cc49e

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/ef6eb9ded9a25771e2fdce448a7a688e297fc935...a568464e724702282eeebdfb0085285ce64cc49e
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200614/adafd50d/attachment.html>


More information about the ghc-commits mailing list