[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 15 commits: Disable optimisation when building Cabal lib for stage0

Marge Bot gitlab at gitlab.haskell.org
Sun Jun 16 04:06:29 UTC 2019



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


Commits:
20b4d5ec by Ben Gamari at 2019-06-16T03:32:38Z
Disable optimisation when building Cabal lib for stage0

This disables optimisation when building Cabal for Hadrian and
stage0 `ghc-cabal`. Cabal is performance critical in neither case nor
will any performance difference here be visible to the end-user.

See #16817.

- - - - -
76b7f619 by Ben Gamari at 2019-06-16T03:32:38Z
Disable optimisation when building Cabal in development flavours

This updates the make and Hadrian build flavours targetting developers
to disable optimisation when building the Cabal library. Cabal tends to
tickle some very bad compiler performance cases (e.g. #16577) so
disabling optimisation here makes a sizeable impact on overall build
time.

See #16817.

- - - - -
0d2a4258 by Ben Gamari at 2019-06-16T03:33:13Z
testsuite: Introduce concurrent_ways set

Previously we just tested for the threaded2 when determining whether to
skip tests which are fragile under concurrent execution. However, this
isn't the only way which is concurrent.

- - - - -
beacb6fd by Ben Gamari at 2019-06-16T03:33:13Z
testsuite: Skip hDuplicateTo001 in concurrent ways

As noted in #16819, this operation is racy under concurrent execution.

- - - - -
ca721193 by Aiken Cairncross at 2019-06-16T03:33:50Z
Fix typo in error message

- - - - -
57b71848 by Ben Gamari at 2019-06-16T03:34:25Z
testsuite: Add assertions that way lists are in fact lists

Previously there were a few cases where operations like `omit_ways`
were incorrectly passed a single way (e.g. `omit_ways('threaded2')`).
This won't work as the author expected.

- - - - -
25ee60cd by Ryan Scott at 2019-06-16T03:35:03Z
Synchronize ClsInst.doTyConApp with TcTypeable validity checks (#15862)

Issue #15862 demonstrated examples of type constructors on which
`TcTypeable.tyConIsTypeable` would return `False`, but the `Typeable`
constraint solver in `ClsInst` (in particular, `doTyConApp`) would
try to generate `Typeable` evidence for anyway, resulting in
disaster. This incongruity was caused by the fact that `doTyConApp`
was using a weaker validity check than `tyConIsTypeable` to determine
if a type constructor warrants `Typeable` evidence or not. The
solution, perhaps unsurprisingly, is to use `tyConIsTypeable` in
`doTyConApp` instead.

To avoid import cycles between `ClsInst` and `TcTypeable`, I factored
out `tyConIsTypeable` into its own module, `TcTypeableValidity`.

Fixes #15862.

- - - - -
4138bf86 by Krzysztof Gogolewski at 2019-06-16T03:35:38Z
Remove dead code

- - - - -
d9e047f3 by Ben Gamari at 2019-06-16T04:06:24Z
base/Event/Poll: Drop POLLRDHUP enum item

Previously the Event enumeration produced by hsc2hs would sometimes
include a currently-unused POLLRDHUP item. This unused binding would
result in a build failure. Drop it.

- - - - -
fb673ab6 by Ben Gamari at 2019-06-16T04:06:24Z
testsuite: Fix T8602 on musl

Musl wants hash-bangs on all executables.

- - - - -
834010d2 by Ben Gamari at 2019-06-16T04:06:24Z
testsuite: Ensure T5423 flushes C output buffer

Previously T5423 would fail to flush the printf output buffer.
Consequently it was platform-dependent whether the C or Haskell print
output would be emitted first.

- - - - -
7247513f by Ben Gamari at 2019-06-16T04:06:24Z
testsuite: Flush conc059's printf buffer

Otherwise it the order out the Haskell and C output will be
system-dependent.

- - - - -
87771397 by Ben Gamari at 2019-06-16T04:06:24Z
testsuite: Ensure that ffi005 output order is predictable

The libc output buffer wasn't being flushed, making the order
system-depedent.

- - - - -
43167474 by Ben Gamari at 2019-06-16T04:06:24Z
gitlab-ci: Build alpine release bindists

- - - - -
c921b403 by Alp Mestanogullari at 2019-06-16T04:06:26Z
fix runghc's GHC detection logic to cover the "in-tree Hadrian build" scenario

Before this patch, runghc would only run the GHC detection logic on Windows and
assume that it was invoked through a wrapper script on all other platforms.
This patch lifts this limitation and makes that logic work for the scenario
where someone is calling the runghc executable directly, without passing an
explicit path to GHC.

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/deSugar/Check.hs
- compiler/ghc.cabal.in
- compiler/rename/RnSplice.hs
- compiler/simplCore/CoreMonad.hs
- compiler/typecheck/ClsInst.hs
- compiler/typecheck/TcEvidence.hs
- compiler/typecheck/TcRnMonad.hs
- compiler/typecheck/TcTypeable.hs
- + compiler/typecheck/TcTypeableValidity.hs
- compiler/utils/MonadUtils.hs
- hadrian/cabal.project
- hadrian/src/Settings/Flavours/Development.hs
- libraries/base/GHC/Event/Poll.hsc
- libraries/base/tests/IO/all.T
- libraries/base/tests/Numeric/all.T
- libraries/base/tests/all.T
- mk/flavours/devel1.mk
- mk/flavours/devel2.mk
- mk/flavours/validate.mk
- testsuite/config/ghc
- testsuite/driver/testlib.py
- testsuite/tests/codeGen/should_compile/all.T
- testsuite/tests/concurrent/should_run/all.T
- testsuite/tests/concurrent/should_run/conc059.stdout
- testsuite/tests/concurrent/should_run/conc059_c.c
- testsuite/tests/dependent/should_compile/all.T
- testsuite/tests/driver/T8602/T8602.script
- testsuite/tests/ffi/should_run/all.T
- testsuite/tests/ffi/should_run/ffi005.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/e69b88b37c2c647f31c974c131f3913b37d3c7b3...c921b4035e84117331f86b7f86f897caaad561f3

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/e69b88b37c2c647f31c974c131f3913b37d3c7b3...c921b4035e84117331f86b7f86f897caaad561f3
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/20190616/fb0844c2/attachment.html>


More information about the ghc-commits mailing list