- May 30, 2008
-
-
Simon Marlow authored
The problem was that when loading interface files in checkOldIface, we were not passing the If monad the mutable variable for use when looking up entities in the *current* module, with the result that the knots wouldn't be tied properly, and some instances of TyCons would be incorrectly abstract. This bug has subtle effects: for example, recompiling a module without making any changes might lead to a slightly different result (noticed due to the new interface-file fingerprints). The bug doesn't lead to any direct failures that we're aware of.
-
- May 29, 2008
-
-
John Dias authored
o Moved BlockId stuff to a new file to avoid module recursion o Defined stack areas for parameter-passing locations and spill slots o Part way through replacing copy in and copy out nodes - added movement instructions for stack pointer - added movement instructions for call and return parameters (but not with the proper calling conventions) o Inserting spills and reloads for proc points is now procpoint-aware (it was relying on the presence of a CopyIn node as a proxy for procpoint knowledge) o Changed ZipDataflow to expect AGraphs (instead of being polymorphic in the type of graph)
-
- May 30, 2008
-
-
Simon Marlow authored
-
rl@cse.unsw.edu.au authored
-
- May 29, 2008
-
-
chak@cse.unsw.edu.au. authored
-
Simon Marlow authored
-
Simon Marlow authored
For clients that forget to do hs_add_root()
-
Simon Marlow authored
-
- May 28, 2008
-
-
Simon Marlow authored
-
- May 29, 2008
-
-
John Dias authored
Several changes in this patch, partially bug fixes, partially new code: o bug fixes in ZipDataflow - added some checks to verify that facts converge - removed some erroneous checks of convergence on entry nodes - added some missing applications of transfer functions o changed dataflow clients to use ZipDataflow, making ZipDataflow0 obsolete o eliminated DFA monad (no need for separate analysis and rewriting monads with ZipDataflow) o started stack layout changes - no longer generating CopyIn and CopyOut nodes (not yet fully expunged though) - still not using proper calling conventions o simple new optimizations: - common block elimination -- have not yet tried to move the Adams opt out of CmmProcPointZ - block concatenation o piped optimization fuel up to the HscEnv - can be limited by a command-line flag - not tested, and probably not yet properly used by clients o added unique supply to FuelMonad, also lifted unique supply to DFMonad
-
- May 27, 2008
-
-
chak@cse.unsw.edu.au. authored
-
- May 28, 2008
-
-
Simon Marlow authored
This is a much more robust way to do recompilation checking. The idea is to create a fingerprint of the ABI of an interface, and track dependencies by recording the fingerprints of ABIs that a module depends on. If any of those ABIs have changed, then we need to recompile. In bug #1372 we weren't recording dependencies on package modules, this patch fixes that by recording fingerprints of package modules that we depend on. Within a package there is still fine-grained recompilation avoidance as before. We currently use MD5 for fingerprints, being a good compromise between efficiency and security. We're not worried about attackers, but we are worried about accidental collisions. All the MD5 sums do make interface files a bit bigger, but compile times on the whole are about the same as before. Recompilation avoidance should be a bit more accurate than in 6.8.2 due to fixing #1959, especially when using -O.
-
- May 23, 2008
-
-
Simon Marlow authored
-
- May 27, 2008
-
-
Simon Marlow authored
-
- May 28, 2008
-
-
John Dias authored
-
- May 26, 2008
-
-
Ian Lynagh authored
Now you just add them to SUBDIRS_BUILD instead of SUBDIRS.
-
Ian Lynagh authored
You need to use the build.* rules rather than the make.* rules, though.
-
chak@cse.unsw.edu.au. authored
- When compiling with -mmacos-deployment-target=10.4, we need --no-builtin-fprintf, as the use of GCC's builtin function optimisation for fprintf together with #include "PosixSource" in the RTS leads to the use of fwrite$UNIX2003 (with GCC 4.0.1 on Mac OS X 10.5.2).
-
- May 01, 2008
-
-
claus.reinke@talk21.com authored
as discussed in this thread: http://www.haskell.org/pipermail/glasgow-haskell-users/2008-April/014614.html
-
- May 23, 2008
-
-
Ian Lynagh authored
This fixes a segfault in #1657
-
- May 21, 2008
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- May 22, 2008
-
-
chak@cse.unsw.edu.au. authored
-
- May 21, 2008
-
-
Simon Peyton Jones authored
In an instance declaration, omitted methods get a definition that uses the default method. We used to generate source code and feed it to the type checker. But tc199 shows that is a bad idea -- see Note [Default methods in instances] in TcClassDcl. So this patch refactors to insteadl all us to generate the *post* typechecked code directly for default methods.
-
Simon Peyton Jones authored
-
- May 20, 2008
-
-
Simon Peyton Jones authored
Refactoring reduces code and improves error messages
-
Simon Peyton Jones authored
-
- May 15, 2008
-
-
Simon Peyton Jones authored
This bug allowed, for example f = let x = ( 1#, 'x' ) in x which is ill-typed because you can't put an unboxed value in a tuple. Core Lint fails on this program. The patch makes the program be rejcted up-front.
-
- May 20, 2008
-
-
Ian Lynagh authored
-
- May 17, 2008
-
-
Ian Lynagh authored
-
- May 19, 2008
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Simon Marlow authored
Now we use <prog>.hp and <prog>.prof consistently.
-
- May 20, 2008
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- May 19, 2008
-
-
Simon Marlow authored
-
- May 20, 2008
-
-
rl@cse.unsw.edu.au authored
This is the optimisation level recommended when compiling DPH programs. At the moment, it is equivalent to -O2 -fno-method-sharing -fdicts-cheap -fmax-simplifier-iterations20 -fno-spec-constr-threshold.
-
rl@cse.unsw.edu.au authored
We want -Odph to be a dynamic flag and that should imply -fno-method-sharing. This doesn't add a lot of complexity.
-