- 17 Nov, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 16 Nov, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 13 Nov, 2009 1 commit
-
-
Simon Marlow authored
So we don't try to recreate directories just because they are older than mkdirhier, since mkdirhier won't touch them.
-
- 17 Nov, 2009 4 commits
-
-
simonpj@microsoft.com authored
I can't quite remember when I spotted this, but exprIsHNF (and similarly exprIsConLike) should ignore enclosing let-bindings, since they don't affect termination.
-
simonpj@microsoft.com authored
See Note [Typechecking rules] in TcRules. Suggested by Roman
-
simonpj@microsoft.com authored
See Note [RULEs apply to simplified arguments] in Simplify.lhs A knock-on effect is that rules apply *after* we try inlining (which uses un-simplified arguments), but that seems fine.
-
simonpj@microsoft.com authored
-
- 15 Nov, 2009 1 commit
-
-
Duncan Coutts authored
It was accidentally using list syntax. Fixes #3303 again.
-
- 13 Nov, 2009 2 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
See Note [Eta-expanding INLINE things] in DsBinds This is to fix a performance bug that Roman was encountering.
-
- 12 Nov, 2009 1 commit
-
-
Simon Marlow authored
The log file format was still using 32 bits, this just updates the header file to match; there should be no functional changes.
-
- 13 Nov, 2009 2 commits
-
-
Simon Marlow authored
Due to darcs confusion, I managed to leave out part of the patch for #1185. This should make 1185(threaded1) go through now.
-
simonpj@microsoft.com authored
I'd forgotten the case of single-method classes! I've also improved the documentation. See Note [ClassOp/DFun selection] Note [Single-method classes] both in TcInstDcls
-
- 12 Nov, 2009 5 commits
-
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
Simon Marlow authored
Someone on IRC reported that they were encountering a strange missing module error from GHC, and it turned out that they had mtl-1.1.0.2 installed in both the global and local DB, with the same InstalledPackageId. The two packages should be interchangeable, but we were forgetting to eliminate duplicates in part of the package-processing phase in GHC. Really I should switch this code over to use the new PackageIndex data type in Cabal, which ought to make things simpler.
-
Simon Marlow authored
And add a comment explaining why these options are here
-
Simon Marlow authored
-
- 11 Nov, 2009 1 commit
-
-
Simon Marlow authored
Patch 1/2: second part of the patch is to libraries/base This time without dynamic linker hacks, instead I've expanded the existing rts/Globals.c to cache more CAFs, specifically those in GHC.Conc. We were already using this trick for signal handlers, I should have realised before. It's still quite unsavoury, but we can do away with rts/Globals.c in the future when we switch to a dynamically-linked GHCi.
-
- 12 Nov, 2009 3 commits
-
-
simonpj@microsoft.com authored
* Core Lint now does full checking of kinds and coercion terms which picks up kind errors in coercions that were previously simply not checked for * Coercion.lhs now provides optCoercion which optimises coercion terms. It implements all of Dimitrios's rules * The constructors for coercion terms now make no attempt to be "smart"; instead we rely solely on the coercion optimiser * CoercionTyCons in TyCon.lhs always had a "custom" kinding rule (the coKindFun field of CoercionTyCon) but its type was not clever enough to do both (a) *figure out the result kind*, assuming the whole thing is well-kinded in the first place (b) *check* the kinds of everything, failing gracefully if they aren't right. We need (b) for the new CoreLint stuff. The field now has type CoTyConKindChecker which does the job nicely.
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
-
- 05 Nov, 2009 1 commit
-
-
dias@cs.tufts.edu authored
The native back ends had difficulties with loops; in particular the code for branch-chain elimination could run in infinite loops or drop basic blocks. The old codeGen didn't expose these problems. Also, my fix for T3286 in the new codegen was getting applied to too many (some wrong) cases; a better pattern match fixed that.
-
- 18 Sep, 2009 6 commits
-
-
dias@cs.tufts.edu authored
-
dias@cs.tufts.edu authored
-
dias@cs.tufts.edu authored
Wrote a generic function to extend dataflow results for safe foreign calls. Should be able to throw it away when we change the representation of safe foreign calls.
-
dias@cs.tufts.edu authored
When we used derived pointers into the middle of an object, we need to keep the pointer to the start of the object live. We use a "fat machine instruction" with the primitive MO_Touch to propagate this information through the back end.
-
dias@cs.tufts.edu authored
Apparently, the arguments should be sorted by pointerhood. While we're at it, I rewrote the code that assigns registers and stack space to function call and return parameters.
-
dias@cs.tufts.edu authored
If the scrutinee is bottom, the generated Cmm code could have a type error when the case arm expected an unboxed floating-point value (even though the arm should never be reached). Now, we detect this case and avoid producing the type-incorrect assignment.
-
- 11 Nov, 2009 1 commit
-
-
Ian Lynagh authored
-
- 10 Nov, 2009 1 commit
-
-
Ian Lynagh authored
This means that the docs get built with the correct relative paths. When installing, the absolute path will still be used.
-
- 08 Nov, 2009 1 commit
-
-
Ian Lynagh authored
You can now have multiple versions of a package installed, and gen_contents_index will do the right thing.
-
- 11 Nov, 2009 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
Patches from Goetz Isenmann <info@goetz-isenmann.de>, slightly updated for HEAD (the method for configuring platforms in configure.ac has changed).
-
Simon Marlow authored
Patch submitted by Matthias Kilian <kili@outback.escape.de>, re-recorded against HEAD by me, with a comment added.
-
- 09 Nov, 2009 1 commit
-
-
Simon Marlow authored
Patch submitted by Matthias Kilian <kili@outback.escape.de>
-
- 11 Nov, 2009 1 commit
-
-
simonpj@microsoft.com authored
The Core Lint warnings are new. There's only one at the moment, namely one to identify recursive INLINE things: [RHS of $c>>_als :: forall s_afT a_alJ b_alK. Cpr001_imp.StateTrans s_afT a_alJ -> Cpr001_imp.StateTrans s_afT b_alK -> Cpr001_imp.StateTrans s_afT b_alK] INLINE binder is loop breaker: $c>>_als This is definitely non-fatal, and typically gets unravelled after another simplifier run anyway. So I'm suppressing such warnings for the testsuite, when -dno-debug-output is on.
-
- 10 Nov, 2009 1 commit
-
-
simonpj@microsoft.com authored
The main change is using SimplUtils.updModeForInlineRules doesn't overwrite the current setting, it just augments it.
-