| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Stopped rewriting and caching solveds in the inerts because
profiling showed that a lot of time was spent on rewriting
already solved goals.
2) Optimisations in zonkEvBinds for common-case
evidence bindings generated from the constraint solver.
3) Now solved goals cache their evidence terms, so that we can more
aggressively optimize Refl coercions during constraint solving.
This patch also includes a rewrite of rewriteInertEqsFromInertEq
which greatly improves its efficiency.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
0) Typo in panic message.
1) prioritization of equalities over family equalities in the worklists.
2) rewriting of inert substitutions and solveds on-the-spot instead of
kicking them out in the inerts. This required a monadic map over
substitutions hence the modifications in UniqFM.
3) Just comments and removing stale commented code.
4) Useful SCC for simplifyInfer.
5) Making CoreStats outputable.
|
| | |
|
| |
|
|
|
| |
Some platforms use linkers that don't support the --hash-size=31 and
--reduce-memory-overheads flags.
|
| |
|
|
| |
These reduce the amount of memory that ld takes when linking.
|
| | |
|
| |
|
|
| |
This makes "make" keep working after a "./validate --fast".
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
- (->), [::], & PArray are now vectorised via pragmas (and related clean up)
- Repeatedly vectorising a variable or type constructor now raises an error
|
| | |
|
| |
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| | |
|
| |
|
|
| |
Also "fixes" tcfail158
|
| |
|
|
| |
Makes tcrun043 work again.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Terminology cleanup: the type "Ticks" has been renamed "Time", which
is an StgWord64 in units of TIME_RESOLUTION (currently nanoseconds).
The terminology "tick" is now used consistently to mean the interval
between timer signals.
The ticker now always ticks in realtime (actually CLOCK_MONOTONIC if
we have it). Before it used CPU time in the non-threaded RTS and
realtime in the threaded RTS, but I've discovered that the CPU timer
has terrible resolution (at least on Linux) and isn't much use for
profiling. So now we always use realtime. This should also fix
The default tick interval is now 10ms, except when profiling where we
drop it to 1ms. This gives more accurate profiles without affecting
runtime too much (<1%).
Lots of cleanups - the resolution of Time is now in one place
only (Rts.h) rather than having calculations that depend on the
resolution scattered all over the RTS. I hope I found them all.
|
| |
|
|
|
|
|
|
| |
instance pragmas
* Correct usage of new type wrappers from MkId
* 'VECTORISE [SCALAR] type T = S' didn't work correctly across module boundaries
* Clean up 'VECTORISE SCALAR instance'
|
| |
|
|
|
| |
Based on a patch from Arnaud Degroote <degroote@NetBSD.org> in
trac #5480.
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
In particular, we now ignore .git directories
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Given the high impact of this change, we decided to back off and make
abstract newtypes give a warning for one release, before we make it an
error in 7.6.1.
Codec/Compression/Zlib/Stream.hsc:884:1:
Warning: newtype `CInt' is used in an FFI declaration,
but its constructor is not in scope.
This will become an error in GHC 7.6.1.
When checking declaration:
foreign import ccall unsafe "static zlib.h deflate" c_deflate
:: StreamState -> CInt -> IO CInt
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This featurelet allows Trac #5237 to be fixed.
The idea is to allow SPECIALISE pragmas to specify
the phases in which the RULE is active, just as you can
do with RULES themselves.
{-# SPECIALISE [1] foo :: Int -> Int #-}
This feature is so obvious that not having it is really a bug.
There are, needless to say, a few wrinkles. See
Note [Activation pragmas for SPECIALISE]
in DsBinds
|
| |\
| |
| |
| |
| | |
Conflicts:
compiler/ghci/ByteCodeItbls.lhs
|
| | |
| |
| |
| | |
Was causing occasional failure in some threaded2 tests.
|
| | | |
|
| |\ \
| |/ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
If a file we depended on last time is missing, we should recompile.
This also makes us insensitive to mistakes when recording dependent
source files (such as storing a temporary file), but will make more
recompilation happen instead. With DEBUG on, you get a warning.
|
| | | |
|
| |/
|
|
| |
This bug caused Trac #5655
|
| |
|
|
| |
This improves compile times slightly.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|