[Git][ghc/ghc][ghc-9.0] 19 commits: Bignum: make GMP's bignat_add not recursive

Ben Gamari gitlab at gitlab.haskell.org
Tue Nov 10 15:56:43 UTC 2020



Ben Gamari pushed to branch ghc-9.0 at Glasgow Haskell Compiler / GHC


Commits:
bba8f79c by Sylvain Henry at 2020-11-09T11:10:17-05:00
Bignum: make GMP's bignat_add not recursive

bignat_add was a loopbreaker with an INLINE pragma (spotted by
@mpickering). This patch makes it non recursive to avoid the issue.

(cherry picked from commit bff74de713dac3e62c3bb6f1946e0649549f2215)

- - - - -
ed1699b2 by Tamar Christina at 2020-11-09T11:11:52-05:00
winio: Fix unused variables warnings

(cherry picked from commit cb1f755c6fb77f140aee11fdc7b4da04dd5dcd02)

- - - - -
0736b4e3 by Simon Peyton Jones at 2020-11-09T11:13:57-05:00
Fix two constraint solving problems

This patch fixes two problems in the constraint solver.

* An actual bug #18555: we were floating out a constraint to eagerly,
  and that was ultimately fatal.  It's explained in
  Note [Do not float blocked constraints] in GHC.Core.Constraint.

  This is all very delicate, but it's all going to become irrelevant
  when we stop floating constraints (#17656).

* A major performance infelicity in the flattener.  When flattening
  (ty |> co) we *never* generated Refl, even when there was nothing
  at all to do.  Result: we would gratuitously rewrite the constraint
  to exactly the same thing, wasting work.  Described in #18413, and
  came up again in #18855.

  Solution: exploit the special case by calling the new function
  castCoercionKind1.  See Note [castCoercionKind1] in
  GHC.Core.Coercion

(cherry picked from commit 0b3d23afcad8bc14f2ba69b8dbe05c314e6e7b29)

- - - - -
6c1cf280 by Tamar Christina at 2020-11-09T11:17:24-05:00
winio: simplify logic remove optimization step.

(cherry picked from commit 412018c1214a19649e0ccfff73e80a0622635dd5)

- - - - -
e49c8923 by David Beacham at 2020-11-09T14:15:13-05:00
Fix `instance Bounded a => Bounded (Down a)` (#18716)

* Flip `minBound` and `maxBound` to respect the change in ordering
* Remove awkward `Enum` (and hence `Integral`) instances for
  `Data.Ord.Down`
* Update changelog

(cherry picked from commit 9ad51bc9d2ad9168abad271f715ce73d3562218a)

- - - - -
fb544de7 by Sylvain Henry at 2020-11-09T14:15:15-05:00
Fix parsing of PIE flags

-fPIE and -fno-PIE flags were (un)setting Opt_PIC instead of Opt_PIE.

Original commit: 3625728a0e3a9b56c2b85ae7ea8bcabdd83ece6a

(cherry picked from commit 17d2f0a886f9f56ea408d2dd8b7f054021da19a4)

- - - - -
fa671e75 by Vladislav Zavialov at 2020-11-09T14:15:15-05:00
Fix PostfixOperators (#18151)

This fixes a regression introduced in 2b89ca5b850b4097447cc4908cbb0631011ce979
See the new T18151x test case.

(cherry picked from commit bf2411a3c198cb2df93a9e0aa0c3b8297f47058d)

- - - - -
e5f73b99 by Ben Gamari at 2020-11-09T14:15:15-05:00
Bump win32-tarballs version to 0.3

This should fix #18774.

(cherry picked from commit e5c7c9c8578de1248826c21ebd08e475d094a552)

- - - - -
063d174f by Ben Gamari at 2020-11-09T14:15:15-05:00
mingw: Extract zst toolchain archives

This should have been done when the toolchain was bumped.

(cherry picked from commit a848d52748c09a27ed5bef0fb039c51656bebdf1)

- - - - -
da266403 by Tamar Christina at 2020-11-09T14:15:15-05:00
winio: fixed bytestring reading interface.

(cherry picked from commit 0fd3d360cab977e00fb6d90d0519962227b029bb)

- - - - -
c4fa35fa by Tamar Christina at 2020-11-09T14:15:15-05:00
winio: fixed more data error.

(cherry picked from commit dfaef1cae7a4a0cb8783933274dae7f39d7165a0)

- - - - -
556c2356 by Tamar Christina at 2020-11-09T14:15:15-05:00
winio: fix array splat

(cherry picked from commit 6f0243ae5b359124936a8ff3dd0a287df3d7aca2)

- - - - -
c3a8c0bf by Tamar Christina at 2020-11-09T14:15:16-05:00
winio: fixed timeouts non-threaded.

(cherry picked from commit c832f7e2a9314cfd61257cb161b1795b612d12b5)

- - - - -
e615aa85 by Andreas Klebinger at 2020-11-09T14:15:16-05:00
NCG: Fix 64bit int comparisons on 32bit x86

We no compare these by doing 64bit subtraction and
checking the resulting flags.

We used to do this differently but the old approach was
broken when the high bits compared equal and the comparison
was one of >= or <=.

The new approach should be both correct and faster.

(cherry picked from commit bb100805337adc666867da300ee5b0b11c18fe00)

- - - - -
25a24e5d by Alan Zimmerman at 2020-11-09T14:15:16-05:00
Restrict Linear arrow %1 to exactly literal 1 only

This disallows `a %001 -> b`, and makes sure the type literal is
printed from its SourceText so it is clear why.

Closes #18888

(cherry picked from commit 616bec0dee67ae4841c4e60e9406cc9c63358223)

- - - - -
2b3af303 by Ben Gamari at 2020-11-09T14:15:16-05:00
rts: Add __mingw_vfprintf to RtsSymbols.c

Following the model of the other printf symbols. See Note [Symbols for
MinGW's printf].

(cherry picked from commit 6434c2e35122886ad28a861cb857fa47bcc7e82d)

- - - - -
06e7aed0 by Ben Gamari at 2020-11-09T14:15:16-05:00
testsuite: Account for -Wnoncanonical-monoid-instances changes on Windows

(cherry picked from commit d76224c29a78ab962d86b9a1a92cde73e41b6479)

- - - - -
918157d5 by Ben Gamari at 2020-11-09T19:17:08-05:00
testsuite: Update output for T18888_datakinds

- - - - -
7fcca77f by Ben Gamari at 2020-11-09T19:17:13-05:00
testsuite: Update output for T12427a

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Cond.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/Unify.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Tc/Solver/Flatten.hs
- configure.ac
- libraries/base/Data/Ord.hs
- libraries/base/GHC/Event/Array.hs
- libraries/base/GHC/Event/Windows.hsc
- libraries/base/GHC/IO/Handle/Text.hs
- libraries/base/GHC/IO/Windows/Handle.hsc
- libraries/base/changelog.md
- libraries/base/tests/IO/all.T
- + libraries/base/tests/IO/bytestringread001.hs
- + libraries/base/tests/IO/bytestringread001.stdout
- libraries/ghc-bignum/src/GHC/Num/Backend/GMP.hs
- mk/get-win32-tarballs.py
- rts/RtsSymbols.c
- rts/win32/AsyncWinIO.c
- rts/win32/AsyncWinIO.h
- testsuite/tests/cmm/should_run/all.T
- + testsuite/tests/cmm/should_run/cmp64.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/3d7f5ec8232d9053b192cb94b19c5d5e85bc46f4...7fcca77f1b3d315b95de2acc76bdac3512a522ff

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/3d7f5ec8232d9053b192cb94b19c5d5e85bc46f4...7fcca77f1b3d315b95de2acc76bdac3512a522ff
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/20201110/c6b17cf7/attachment.html>


More information about the ghc-commits mailing list