- 15 Mar, 2001 3 commits
- 14 Mar, 2001 17 commits
-
-
simonpj authored
------------------------------- Fix the dreaded export list bug ------------------------------- With unfailing regularity I manage to get the following wrong: module A(f) where f = ... module B(f) where import A(f) We must ensure that if A.f changes its type (etc) then B.hi gets changed, so that people who import B will get recompiled. There's a large comment with RnIfaces.mkImportInfo, and some reorganisation in Rename, with a few mainly cosmetic consequences in RnEnv. [Simon: I think this will fix the 'OccurAnal not recompiled' problem.]
-
sebc authored
When compiling C bits, prefix CC_OPTS with -optc.
-
sewardj authored
Don't try and do `take' of a negative number in compMsg. The Golden Lemon award for 2001 goes to <name_deleted_to_protect_the_guilty_party>.
-
simonmar authored
Fix a bug which has been causing all SPECIALISE pragmas to be thrown away.
-
simonpj authored
------------------------------------- Import more rules, and fix usage info ------------------------------------- 1. A rule wasn't being slurped in that should have been. Reason: wordToWord32# was in the 'TypeEnv', because it's a primop, so the renamer thought it was already slurped in, which is true. But it forgot to use the TypeEnv as a source of gates when deciding which rules to pull in. Result: a useful rule for the primop wasn't making it in. Thanks to Marcin for isolating this one. 2. RnIfaces.recordTypeEnvSlurp (was recordVSlurp) was blindly adding the name to the iVSlurp set, but the iVSlurp set is supposed to contain only "big" names (tycons, classes, and Ids that aren't data cons, class ops etc). We need to get the big name from the thing. Mildly tiresomely, this means we have to keep the Class inside the TyCon derived from that class. Hence updates to TyCon and Class.
-
simonpj authored
Import wibble
-
simonpj authored
Remove dead code, and fix fvs1 -> fvs2 in coreTopBindsToStg
-
sewardj authored
mut_user_time_during_GC() and mut_user_time(): don't forget to do TICK_TO_DBL of the result -- if not done, heap profiling times are off by a factor of 100.
-
simonmar authored
don't consider SCC annotations in an argument to be trivial.
-
rrt authored
Add Config.hs generation to Makefile to make TMPDIR work in KludgedSystem.
-
simonmar authored
Fix CAF reference tracking for let-no-escapes.
-
sewardj authored
Add closure selection for heap profiling. You can use -hc{cc_names}, -hd{descrs}, -hy{types}, -hm{mods} to restrict profiled closures to the specified sets. Multiple restrictions are allowed.
-
rrt authored
Get 'dis /tmp offa ma back, it stops me doin' Windows hack!
-
rrt authored
Don't use /tmp.
-
rrt authored
Ban /tmp. TMPDIR r00lz!
-
rrt authored
Don't use /tmp. /tmp has bad karma!
-
rrt authored
/tmp -> TMPDIR (don't worry dudes, it's just a comment!)
-
- 13 Mar, 2001 18 commits
-
-
qrczak authored
Add 'destruct :: Ptr a -> IO ()' method to class Storable. Thanks Wojciech Moczydlowski <khaliff@astercity.net> for the suggestion. It should free memory associated with the object (except the object pointer itself). A default definition does nothing, but will be non-trivial for some C structs. The canonical ForeignPtr finalizer for a malloced data object would be 'destruct p >> free p'.
-
rrt authored
Use TMPDIR, not /tmp.
-
simonmar authored
update expected output
-
simonmar authored
update expected output
-
simonmar authored
update expected output
-
simonmar authored
fix up for GHCi
-
simonpj authored
Add error location for deriving failure errors
-
simonpj authored
Remove debug print
-
simonmar authored
unused imports
-
simonpj authored
Add beginning of docs for implicit params, and functional deps; I hope formatting is ok
-
simonpj authored
Remove docs for -funfolding-interface-threshold
-
simonmar authored
remove -funfolding-interface-threshold flag.
-
simonpj authored
Add 091
-
simonmar authored
fix Happy test.
-
simonpj authored
---------------- Nuke ClassContext ---------------- This commit tidies up a long-standing inconsistency in GHC. The context of a class or instance decl used to be restricted to predicates of the form C t1 .. tn with type ClassContext = [(Class,[Type])] but everywhere else in the compiler we used type ThetaType = [PredType] where PredType can be any sort of constraint (= predicate). The inconsistency actually led to a crash, when compiling class (?x::Int) => C a where {} I've tidied all this up by nuking ClassContext altogether, and using PredType throughout. Lots of modified files, but all in more-or-less trivial ways. I've also added a check that the context of a class or instance decl doesn't include a non-inheritable predicate like (?x::Int). Other things * rename constructor 'Class' from type TypeRep.Pred to 'ClassP' (makes it easier to grep for) * rename constructor HsPClass => HsClassP HsPIParam => HsIParam
-
simonmar authored
re-instate an ASSERT that was temporarily commented out.
-
simonmar authored
Fix let-no-escapes again.
-
simonmar authored
Some rearrangements that Simon & I have been working on recently: - CoreSat is now CorePrep, and is a general "prepare-for-code- generation" pass. It does cloning, saturation of constructors & primops, A-normal form, and a couple of other minor fiddlings. - CoreTidy no longer does cloning, and minor fiddlings. It doesn't need the unique supply any more, so that's removed. - CoreToStg now collects CafInfo and the list of CafRefs for each binding. The SRT pass is much simpler now. - IdInfo now has a CgInfo field for "code generator info". It currently contains arity (the actual code gen arity which affects the calling convention as opposed to the ArityInfo which is a measure of how many arguments the Id can be applied to before it does any work), and CafInfo. Previously we overloaded the ArityInfo field to contain both codegen arity and simplifier arity. Things are cleaner now. - CgInfo is collected by CoreToStg, and passed back into CoreTidy in a loop. The compiler will complain rather than going into a black hole if the CgInfo is pulled on too early. - Worker info in an interface file now comes with arity info attached. Previously the main arity info was overloaded for this purpose, but it lead to a few hacks in the compiler, this tidies things up somewhat. Bottom line: we removed several fragilities, and tidied up a number of things. Code size should be smaller, but we'll see...
-
- 12 Mar, 2001 2 commits