| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
Due to a bug LLVM generates a C-like frame pointer prelude for functions
that use AVX instructions. This causes programs using the GHC calling
convention to crash, therefore we simply disable them. People that want
to use AVX should consider upgrading to a more current LLVM version.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
| |
Reviewed-by: Edward Kmett <ekmett@gmail.com>
Authored-by: Yalas, Scott Turner
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
I think this went wrong in 2a6f193b
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes #8558
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A while back when I was refactoring the package code, I tried to solve
a performance problem by introducing a fastpath for module lookups. Well,
it turned out the performance problem was unrelated, but I kept the optimization
because it seemed vaguely useful.
In this commit, I remove the optimization because I don't really think it's
buying us much and it increased code complexity.
ToDo: Inline mkModuleToPkgConfGeneric into mkModuleToPkgConfAll
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D434
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Instead, describe what it actually does.
Reviewers: austin, ekmett, simonpj, hvr
Reviewed By: austin, ekmett
Subscribers: simonpj, thomie, carter
Projects: #ghc
Differential Revision: https://phabricator.haskell.org/D448
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The derived Show instances for SrcSpan and SrcLoc are very verbose.
This patch replaces them with hand-made ones which use positional
syntax for the record constructors, rather than exhaustively listing
each one.
Test Plan: sh ./validate
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: n/a
Reviewers: austin, Mikolaj
Reviewed By: austin, Mikolaj
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D446
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Make listArray fuse with a list producer. Note: if code size increases too much, we can fix that with some `RULES`.
Reviewers: nomeata, hvr, austin, ekmett, simonmar, bgamari
Reviewed By: bgamari
Subscribers: bgamari, thomie, carter
Differential Revision: https://phabricator.haskell.org/D474
GHC Trac Issues: #9801
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
It describes a work around Trac #3838, but it is already fixed and the
workaround removed, Trac #7653
Test Plan: not needed
Reviewers: hvr, Mikolaj, austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D478
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This will *not* work on NixOS for example.
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D479
GHC Trac Issues: #9057
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: austin
Reviewed By: austin
Subscribers: thomie, carter
Differential Revision: https://phabricator.haskell.org/D481
GHC Trac Issues: #4900
|
| |
|
|
|
|
| |
updated to handle `-fwarn-trustworthy-safe`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
At optimization level `-O0` `wordToInteger` wasn't inlined, and this caused a
`__integer` literal to turn up in final Core, which would trigger the GHC panic
ghc-stage1: panic! (the 'impossible' happened)
(GHC version 7.9.20141114 for x86_64-unknown-linux):
Can't use Integer in integer-*
By forcing inlining via `inline` this is avoided.
This should hopefully address #9800.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pulls in the new `Generic`-based `-XDefaultSignature`-based default
implementation for `rnf`[1], and will be interesting to use in combination
with the soon to be merged `-XDeriveAnyClass` extension.
This requires updating several other submodules as well in order
to relax the upper bound on `deepseq` and/or in a few cases to
avoid relying on the default method implementation of `rnf`:
- `Cabal`
- `bytestring`
- `containers`
- `parallel`
- `process`
- `time`
[1]: http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/23031
|
|
|
|
|
| |
This is only a temporary kludge until the issue workarounded by 452d6aa95b7
gets properly fixed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Instead of recording exposed-modules and reexported-modules as seperate
fields in the installed package database, this commit merges them into
a single field (exposed-modules). The motivation for this change is
in preparation for the inclusion of *signatures* into the installed
package database, which may also be reexported. Merging the representation
means that we can treat reexports uniformly, no matter if they're a normal
module or a signature.
This commit adds a stub for signatures, but that code isn't wired up to
anything yet.
Contains Cabal submodule update to accommodate these changes.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: simonpj, duncan, austin
Subscribers: thomie, carter, simonmar
Differential Revision: https://phabricator.haskell.org/D421
|
|
|
|
|
|
|
| |
This introduces ./validate failures for Windows right now, so in the
mean time let's just back this flag out as a default -Wall flag.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement an `amap`/`coerce` rule in `GHC.Arr` to match the
`map`/`coerce` rule in GHC.Base.
In order to do so, delay inlining `amap` until phase 1.
To prevent the inlining delay from causing major inefficiencies due to
missed list fusion, rewrite `amap` to avoid relying on list fusion. This
has the extra benefit of reducing the size of the compiled amap code by
skipping the impossible case of an array with a negative size.
Reviewed By: nomeata
Differential Revision: https://phabricator.haskell.org/D471
|
|
|
|
| |
as type arguments, not value arguments
|
| |
|
|
|
|
|
|
| |
special.
See Note [Unfolding while desugaring] for the rationale.
|
|
|
|
|
| |
generate a worker function of type Void# -> T#, and redirect the wrapper
(via a compulsory unfolding) to the worker. Fixes #9732.
|
| |
|
| |
|
|
|
|
|
| |
GMP 4.x didn't provide the `mp_bitcnt_t` typedef yet, so we locally
define one if GMP 4.x is detected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, `Array`s were simply converted to lists, and the list
methods used. That works acceptably well for `foldr` and `foldr1`, but
not so sensibly for most other things. Left folds ended up "twisted" the
way they are for lists, leading to surprising performance
characteristics.
Moreover, this implements `length` and `null` so they check the array
size directly.
Finally, a test is added to the testsuite ensuring the overridden
`Foldable` methods agree with their expected default semantics.
Addresses #9763
Reviewed By: hvr, austin
Differential Revision: https://phabricator.haskell.org/D459
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids duplication in `GHC.Base`; originally, we had
mapM f = sequence . map f
This led to excessive allocation in `cryptarithm2`. Defining
sequence = mapM id
does not appear to cause any `nofib` problems.
Reviewed By: hvr
Differential Revision: https://phabricator.haskell.org/D470
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make `words` a good producer and `unwords` a good consumer for list
fusion. Thus `unwords . words` will avoid producing an intermediate list
of words, although it will produce each individual word.
Make `unwords` slightly lazier, so that
`unwords (s : undefined) = s ++ undefined` instead of `= undefined`.
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D375
|
|
|
|
|
|
|
|
|
| |
Make the comment on the map/coerce rule refer to the right section in
the paper; give the full name of the papers, and name its authors.
[skip ci]
Differential Revision: https://phabricator.haskell.org/D472
|
| |
|
|
|
|
|
| |
Update submodule haskell2010, haskell98, hoop, hpc and stm to fix new
warnings.
|
|
|
|
|
| |
This warns when a module marked as `-XTrustworthy` could have been
inferred as safe instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_BSD_SOURCE we are using for 'gamma()' and friends
was deprecated in glibc-2.20 in favour of '_DEFAULT_SOURCE'.
gcc says:
In file included from /usr/include/math.h:26:0:
0,
from includes/Stg.h:69,
from /tmp/ghc19488_0/ghc19488_2.hc:3:
/usr/include/features.h:148:3:
warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
^
Patch fixes testsuite failures on UNREG
(stderr are not cluttered by warnings anymore).
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
See the ticket for more info about the new algorithm. This is a small
simplification, unifying the treatment of type checking in a few
similar situations.
|
|
|
|
| |
[skip ci]
|
| |
|
|
|
|
|
| |
No test case added, as the original mistake is just one level
up from a typo.
|
| |
|
|
|
|
| |
[skip ci] -- testsuite wibbles are in next commit
|