| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test tests if the flags are in sync between GHC and
Cabal.
After b0b80e9 'Implement the basics of hex floating point
literals' landed, the Cabal side had to be updated. That
has been done, and 835d8dd 'GHC.Prim use virtual-modules'
brought the Cabal submodule up to date.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Overlap with commit 2f463873, resulted in `hooks/LongGCSync.c`
missing from the `rts.cabal.in` file. As the `rts.cabal` file is only
used by hadrian, this did not trigger with the make base build
system which can do globbing.
Also ignore the `rts.cabal` file, as it's generated by configure
from the `rts.cabal.in`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GHC and the binary distribution that's produced is
not relocatable outside of Windows. This diff tries to
address this for at least Linux and macOS.
Reviewers: austin, hvr, bgamari, erikd, goldfire, Phyx
Reviewed By: bgamari
Subscribers: duog, rwbarton, thomie, erikd
Differential Revision: https://phabricator.haskell.org/D4121
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Stop the GHC.Prim madness with `virtual-module` support from cabal.
Needs https://github.com/haskell/cabal/pull/4875.
Bumps submodule libraries/Cabal to include the necessary logic for `virtual-module`.
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4179
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Summary:
When building the rts with ghc (e.g. using ghc as a c compiler), ghc's
"Value Add"[1] is, it includes adding `-include /path/to/ghcversion.h`. For
this it looksup the rts package in the package database, which--if
empty--fails. Thus to allow compiling C files with GHC, we add the
`-ghc-version` flag, which takes the path to the `ghcversion.h` file.
A `-no-ghc-version` flag was omitted, as at that point it becomes
questionable why one would use ghc to compile c if one doesn't
any of the added value.
--
[1] from `compiler/main/DriverPipeline.hs`
> -- add package include paths even if we're just compiling .c
> -- files; this is the Value Add(TM) that using ghc instead of
> -- gcc gives you :)
Reviewers: bgamari, geekosaur, austin
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4135
|
| |
| |
| |
| |
| | |
This is a regression affecting Windows introduced by
3bed4aa703c41ccbd310496420fbb71afdfd99e7.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Summary:
GC sync is the time between a GC being intiated and all the mutator
threads finally stopping so that the GC can start. Problems that cause
the GC sync to be delayed are hard to find and can cause dramatic
slowdowns for heavily parallel programs.
The new flag --long-gc-sync=<time> helps by emitting a warning and
calling a user-overridable hook when the GC sync time exceeds the
specified threshold. A debugger can be used to set a breakpoint when
this happens and inspect the stacks of threads to find the culprit.
Test Plan:
```
$ ./inplace/bin/ghc-stage2 +RTS --long-gc-sync=0.0000001 -S
Alloc Copied Live GC GC TOT TOT Page Flts
bytes bytes bytes user elap user elap
1135856 51144 153736 0.000 0.000 0.002 0.002 0 0 (Gen: 0)
1034760 94704 188752 0.000 0.000 0.002 0.002 0 0 (Gen: 0)
1038888 134832 228888 0.009 0.009 0.011 0.011 0 0 (Gen: 1)
1025288 90128 235184 0.000 0.000 0.012 0.012 0 0 (Gen: 0)
1049088 130080 333984 0.000 0.000 0.013 0.013 0 0 (Gen: 0)
Warning: waited 0us for GC sync
1034424 73360 331976 0.000 0.000 0.013 0.013 0 0 (Gen: 0)
```
Also tested on a real production problem.
Reviewers: niteria, bgamari, erikd
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4193
|
|\ \
| |/
| |
| | |
Merge commit 'c1fcd9b3f60e8420dd228cd4e3efeb9cfa793aa5'
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fa3771f hadrian: Disable -Wno-undef in files which include ffi.h (#459)
f15e851 Do not run configure by default (#458)
5baa8db Fix AppVeyor cache failure (#456)
94dbe9d Fix ghc-cabal build (#455)
a679764 Fix CI scripts (#454)
06ec241 Widen bounds on Cabal (#452)
git-subtree-dir: hadrian
git-subtree-split: fa3771fe6baf5008a8506fec48220f8347ac59af
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: bgamari, angerman
Reviewed By: angerman
Subscribers: angerman, rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4200
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When sorting by the Ord instance put DEFAULT before other constructors.
This is in line with what the core linter requests allowing the use of
the instance for putting alternatives in the correct order.
This implements #14464.
Reviewers: bgamari, simonpj
Reviewed By: simonpj
Subscribers: simonpj, rwbarton, thomie
GHC Trac Issues: #14464
Differential Revision: https://phabricator.haskell.org/D4198
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding cabal files to `unlit`, `touchy` and `hp2ps`, allows us to treat
them uniformally across the build system. In particular Hadrian will use
these.
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4192
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: bgamari, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4187
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We were accumulating the gc times of the previous gc.
`stats.gc.{cpu,elappsed}_ns` were being accumulated into
`stats.gc_{cpu,elapsed}_ns` before they were set.
There is also a change in that heap profiling will no longer cause gc
events to
be emitted.
Reviewers: bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #14257, #14445
Differential Revision: https://phabricator.haskell.org/D4184
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows you to use `-ddump-to-file -ddump-timings` for more useful
dump output.
Test Plan: Try it
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4195
|
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: simonmar
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4188
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test Plan: Validate
Reviewers: trommler, simonmar
Reviewed By: trommler
Subscribers: rwbarton, thomie
GHC Trac Issues: #14454
Differential Revision: https://phabricator.haskell.org/D4182
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The update of GHC's in-tree libffi causes warnings about
undefined macros and hence validate fails.
Also mark broken tests that have a ticket.
Fixes #14353
Test Plan: ./validate (on AIX and powerpc if possible)
Reviewers: bgamari, hvr, erikd, simonmar
Reviewed By: bgamari
Subscribers: snowleopard, rwbarton, thomie
GHC Trac Issues: #14353, #11259, #14455, #11261
Differential Revision: https://phabricator.haskell.org/D4181
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is in preparation for cabalification of the `rts`. To be actually
able to parse this file, a rather recent Cabal is required. One after
commit 357d49d of haskell/cabal. The relevant PR to support the new
`asm-sources` and `cmm-sources` is haskell/cabal/pull/4857.
Not that this does *not* allow cabal to build the RTS. It does however
provide enough information such that cabal can `copy` and `register`
the package properly in the package database, if all the build
artifacts have been build properly.
As such it does not require any custom handling of the `rts` package.
As the rts as well as all the other packages built by the GHC built
system are built outside of cabal anyway.
Reviewers: bgamari, hvr, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, thomie, erikd
Differential Revision: https://phabricator.haskell.org/D4174
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Document requirement to use the same binaries.
* Fix some code comments.
Test Plan: ./validate
Reviewers: bgamari, mboes, hvr
Reviewed By: bgamari, mboes
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4172
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds support for the bit deposit and extraction operations provided
by the BMI and BMI2 instruction set extensions on modern amd64 machines.
Test Plan: Validate
Reviewers: austin, simonmar, bgamari, hvr, goldfire, erikd
Reviewed By: bgamari
Subscribers: goldfire, erikd, trommler, newhoggy, rwbarton, thomie
GHC Trac Issues: #14206
Differential Revision: https://phabricator.haskell.org/D4063
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Further progress on implementing Trees that Grow on hsSyn AST.
See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
Trees that grow extension points are added for
- Rest of HsExpr.hs
Updates haddock submodule
Test Plan: ./validate
Reviewers: bgamari, shayan-najd, goldfire
Subscribers: goldfire, rwbarton, thomie, mpickering
Differential Revision: https://phabricator.haskell.org/D4186
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A year ago I gave up on trying to rigorously separate TyVars
from TcTyVars, and instead allowed TyVars to appear rather more
freely in types examined by the constraint solver:
commit 18d0bdd3848201882bae167e3b15fd797d217e93
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date: Wed Nov 23 16:00:00 2016 +0000
Allow TyVars in TcTypes
See Note [TcTyVars in the typechecker] in TcType.
However, TcFlatten.flatten_tyvar1 turned out to treat
a TyVar specially, and implicitly assumed that it could
not have an equality constraint in the inert set. Wrong!
This caused Trac #14450. Fortunately it is easily fixed,
by deleting code.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
Trees that grow extension points are added for
- HsExpr
Updates haddock submodule
Test Plan: ./validate
Reviewers: bgamari, goldfire
Subscribers: rwbarton, thomie, shayan-najd, mpickering
Differential Revision: https://phabricator.haskell.org/D4177
|
| |
| |
| |
| |
| |
| | |
This is a follow-up to ba2ae2c8729d5aef2aeb7fb32d6c0ea2a465ea25
which started relying on a new Cabal feature requiring the
the cabal spec version declaration to be updated accordingly.
|
| |
| |
| |
| |
| |
| |
| | |
It appears that our jobs generally run on VMs with 2 vCPUs. Consequently running
with 8 jobs will completely oversubscribe the machine. I suspect this is the
cause of #14453. Let's bump this down to 3 for now. Ideally we would determine
this from the environment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4175
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps Cabal submodule.
Reviewers: bgamari, hvr
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4176
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GHC 8.4 is expected to ship with an updated GCC bindist based on GCC
7.2.
I am however at this time not updating the crt due to an issue
introduced in September.
https://sourceforge.net/p/mingw-w64/mailman/message/36085637/
Unless a favorable fix comes out of the discussion I will just ship the
old crt with GHC 8.4.
Test Plan: ./validate
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: thomie, rwbarton
Differential Revision: https://phabricator.haskell.org/D4125
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
5ebb69ae1e Drop GccLtXX flags, require GCC > 4.7 and up (#450)
git-subtree-dir: hadrian
git-subtree-split: 5ebb69ae1eb063f25c59383bffb3b5449015c6f9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit rGHC8b007ab assigns the same label to the first basic block
of a proc and to the proc entry point. This violates the PPC 64-bit ELF
v. 1.9 and v. 2.0 ABIs and leads to duplicate symbols.
This patch fixes duplicate symbols caused by block labels
In commit rGHCd7b8da1 an info table label is generated from a block id.
Getting the entry label from that info label leads to an undefined
symbol because a suffix "_entry" that is not present in the block label.
To fix that issue add a new info table label flavour for labels
derived from block ids. Converting such a label with toEntryLabel
produces the original block label.
Fixes #14311
Test Plan: ./validate
Reviewers: austin, bgamari, simonmar, erikd, hvr, angerman
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #14311
Differential Revision: https://phabricator.haskell.org/D4149
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These pragmas were having the perverse effect of having these
performance critical modules be LESS optimized in builds with -O2.
Test Plan: Check on gipedia whether this is worthwhile.
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4156
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test Plan: make test TEST=5889
Reviewers: austin, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #5889
Differential Revision: https://phabricator.haskell.org/D4158
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Trac #13990 shows that the Core Lint checks for empty case are
unreliable, and very hard to make reliable. The consensus (among
simonpj, nomeata, and goldfire) seems to be that they should be
removed altogether. Do that.
Add test
Reviewers: goldfire, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #13990
Differential Revision: https://phabricator.haskell.org/D4161
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewers: hvr, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, thomie
GHC Trac Issues: #14432
Differential Revision: https://phabricator.haskell.org/D4171
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test Plan: Validate
Reviewers: hvr
Subscribers: rwbarton, thomie
GHC Trac Issues: #14425
Differential Revision: https://phabricator.haskell.org/D4167
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Stumbled upon this odd bit of style while looking at #14425. Usually I
don't like to do this sort of reformatting, but this seemed like it
would be necessary in the course fo fixing #14425.
Reviewers: hvr
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4168
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test Plan: Validate
Reviewers: hvr
Subscribers: rwbarton, thomie
GHC Trac Issues: #14425
Differential Revision: https://phabricator.haskell.org/D4166
|
|\ \
| | |
| | |
| | |
| | | |
We will continue to pull in squashed snapshots periodically until we
eventually discontinue development in Hadrian's GitHub repository.
|
| |\ \
| | |/ |
|
| |
| |
| |
| |
| | |
git-subtree-dir: hadrian
git-subtree-split: 438dc576e7b84c473a09d1d7ec7798a30303bc4e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update to Win32 2.6 which is the expected version release for 8.4
This involves moving Cabal forward which brings some backwards incompatible
changes that needs various fixups.
Bump a bunch of submodules
Test Plan: ./validate
Reviewers: austin, bgamari, angerman
Reviewed By: bgamari, angerman
Subscribers: angerman, thomie, rwbarton
Differential Revision: https://phabricator.haskell.org/D4133
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
These removes left-overs from e3ba26f8b49700b41ff4672f3f7f6a4e453acdcc
where I implemented `compareByteArray#` as an out-of-line primop, which
got optimised into an inline primop shortly afterwards
(as per 7673561555ae354fd9eed8de1e57c681906e2d49).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
as nested unfoldings are linted together with the top-level unfolding,
and lintUnfolding does the wrong things for nestd unfoldings that
mention join points.
The easiest way of doing that was to pass a TopLevel flag through
`tcUnfolding`, which is invoked both for top level and nested
unfoldings.
Differential Revision: https://phabricator.haskell.org/D4169
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
Trees that grow extension points are added for
- ValBinds
- HsPat
- HsLit
- HsOverLit
- HsType
- HsTyVarBndr
- HsAppType
- FieldOcc
- AmbiguousFieldOcc
Updates haddock submodule
Test Plan: ./validate
Reviewers: shayan-najd, simonpj, austin, goldfire, bgamari
Subscribers: goldfire, rwbarton, thomie, mpickering
Differential Revision: https://phabricator.haskell.org/D4147
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch fixes Trac #14408. The problem was that the StaticEnv
field of an ApplyToVar or Select continuation didn't have enough
variables in scope. The fix is simple, and I documented the
invariant in Note [StaticEnv invariant] in SimplUtils.
No change in behaviour: this just stops an ASSERT from tripping.
|