- 16 Jan, 2008 2 commits
-
-
Clemens Fruhwirth authored
-
Ian Lynagh authored
-
- 14 Jan, 2008 1 commit
-
-
Ian Lynagh authored
-
- 12 Jan, 2008 1 commit
-
-
Ian Lynagh authored
-
- 10 Jan, 2008 1 commit
-
-
simonpj@microsoft.com authored
The type checker doesn't support lexically scoped type variables unless we are using the RelaxedPolyRec option. Reasons: see Note [Scoped tyvars] in TcBinds. So I've changed DynFlags to add this implication, improved the documentation, and simplified the code in TcBinds somewhat. (It's longer but only because of comments!)
-
- 09 Jan, 2008 3 commits
-
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
It controls the number of simplifier phases run during optimisation. These are numbered from n to 1 (by default, n=2). Phase 0 is always run regardless of this flag. The flag is ignored with -O0 since (practically) no optimisation is performed in that case.
-
rl@cse.unsw.edu.au authored
-
- 07 Jan, 2008 1 commit
-
-
simonpj@microsoft.com authored
Somehow we didn't have a separate flag for impredicativity; now we do. Furthermore, Trac #2019 showed up a missing test for monotypes in data constructor return types. And I realised that we were even allowing things like Num (forall a. a) => ... which we definitely should not. This patch insists on monotypes in several places where we were (wrongly) too liberal before. Could be merged to 6.8 but no big deal.
-
- 25 Dec, 2007 1 commit
-
-
chevalier@alum.wellesley.edu authored
Added API support for compiling Haskell to simplified Core, and for compiling Core to machine code. The latter, especially, should be considered experimental and has only been given cursory testing. Also fixed warnings in DriverPipeline. Merry Christmas.
-
- 20 Dec, 2007 1 commit
-
-
simonpj@microsoft.com authored
This patch implements generalised list comprehensions, as described in the paper "Comprehensive comprehensions" (Peyton Jones & Wadler, Haskell Workshop 2007). If you don't use the new comprehensions, nothing should change. The syntax is not exactly as in the paper; see the user manual entry for details. You need an accompanying patch to the base library for this stuff to work. The patch is the work of Max Bolingbroke [batterseapower@hotmail.com], with some advice from Simon PJ. The related GHC Wiki page is http://hackage.haskell.org/trac/ghc/wiki/SQLLikeComprehensions
-
- 14 Dec, 2007 1 commit
-
-
rl@cse.unsw.edu.au authored
This patch replaces -fspec-threshold by -fspec-constr-threshold and -fliberate-case-threshold. The thresholds can be disabled by -fno-spec-constr-threshold and -fno-liberate-case-threshold.
-
- 13 Dec, 2007 2 commits
-
-
rl@cse.unsw.edu.au authored
The number of iterations during the first run of phase 0 was erroneously hardcoded to 3. It should be *at least* 3 (see comments in code) but can be more.
-
rl@cse.unsw.edu.au authored
This outputs the core after each simplifier phase (i.e., it produces less information that -ddump-simpl-iterations).
-
- 14 Nov, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 13 Nov, 2007 1 commit
-
-
mnislaih authored
The contents of bindings show at breakpoints and by :show bindings is rendered using the same printer that :print uses. But sometimes the output it gives spans over too many lines and the user may want to be able to disable it.
-
- 04 Oct, 2007 1 commit
-
-
mnislaih authored
-
- 13 Nov, 2007 1 commit
-
-
Simon Marlow authored
-
- 11 Nov, 2007 1 commit
-
-
Ian Lynagh authored
-
- 07 Nov, 2007 1 commit
-
-
Simon Marlow authored
- :browse! a variant of :browse that lists children separately, not in context, and gives import qualifiers in comments SimonM: I also added sorting by source location for interpreted modules in :browse, and alphabetic sorting by name otherwise. For :browse *M, the locally-defined names come before the external ones. - :{ ..lines.. :} (multiline commands) allow existing commands to be spread over multiple lines to improve readability, both interactively and in .ghci (includes a refactoring that unifies the previous three command loops into one, runCommands, fed from cmdqueue, file, or readline) - :set now shows GHCi-specific flag settings (printing/ debugger), as well as non-language dynamic flag settings :show languages show active language flags :show packages show active package flags as well as implicitly loaded packages
-
- 01 Nov, 2007 1 commit
-
-
David Waern authored
This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also adds "-- # ..."-style Haddock option pragmas, for compatibility with code that use them. Another change is that both of these two pragmas behave like OPTIONS_GHC, i.e. they are only allowed at the top of the module, they are ignored everywhere else and they are stored in the dynflags. There is no longer any Haddock options in HsSyn. Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
-
- 10 Oct, 2007 1 commit
-
-
Dan Licata authored
This patch implements three new features: * view patterns (syntax: expression -> pat in a pattern) * working versions of record wildcards and record puns See the manual for detailed descriptions. Other minor observable changes: * There is a check prohibiting local fixity declarations when the variable being fixed is not defined in the same let * The warn-unused-binds option now reports warnings for do and mdo stmts Implementation notes: * The pattern renamer is now in its own module, RnPat, and the implementation is now in a CPS style so that the correct context is delivered to pattern expressions. * These features required a fairly major upheaval to the renamer. Whereas the old version used to collect up all the bindings from a let (or top-level, or recursive do statement, ...) and put them into scope before renaming anything, the new version does the collection as it renames. This allows us to do the right thing with record wildcard patterns (which need to be expanded to see what names should be collected), and it allows us to implement the desired semantics for view patterns in lets. This change had a bunch of domino effects brought on by fiddling with the top-level renaming. * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD, which did not maintain the invariant necessary for loadDecl. See note [Tricky iface loop] for details.
-
- 03 Oct, 2007 1 commit
-
-
Simon Marlow authored
This required moving PackageId from PackageConfig to Module
-
- 08 Oct, 2007 1 commit
-
-
Simon Marlow authored
test case is driver062.5
-
- 26 Sep, 2007 1 commit
-
-
Simon Marlow authored
Using -stubdir together with hierarchical modules, -fvia-C, and --make is essentially broken in 6.6.x. Recently discovered by Cabal's use of -stubdir. Test cases: driver027/driver028 (I've updated them to use -fvia-C, in order to test for this bug).
-
- 21 Sep, 2007 1 commit
-
-
Ian Lynagh authored
Fixes building with -Werror (i.e. validate) and GHC < 6.6
-
- 19 Sep, 2007 1 commit
-
-
simonpj@microsoft.com authored
Fix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynonyms to -XLiberalTypeSynonyms Fixes exponential behaviour present in GHC 6.6! I renamed the flag because the old (not very old) name wasn't describing what it does.
-
- 17 Sep, 2007 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
When -dasm-lint is turned on the register conflict graph is checked for internal consistency after each build/color pass. Make sure that all edges point to valid nodes, that nodes are colored differently to their neighbours, and if the graph is supposed to be colored, that all nodes actually have a color.
-
- 15 Sep, 2007 1 commit
-
-
nr@eecs.harvard.edu authored
-
- 12 Sep, 2007 1 commit
-
-
mnislaih authored
The flag enables the use of Show instances in :print. By default they are not used anymore
-
- 07 Sep, 2007 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
Iterative coalescing interleaves conservative coalesing with the regular simplify/scan passes. This increases the chance that nodes will be coalesced as they will have a lower degree than at the beginning of simplify. The end result is that more register to register moves will be eliminated in the output code, though the iterative nature of the algorithm makes it slower compared to non-iterative coloring. Use -fregs-iterative for graph coloring allocation with iterative coalescing -fregs-graph for non-iterative coalescing. The plan is for iterative coalescing to be enabled with -O2 and have a quicker, non-iterative algorithm otherwise. The time/benefit tradeoff between iterative and not is still being tuned - optimal graph coloring is NP-hard, afterall..
-
- 11 Sep, 2007 1 commit
-
-
mnislaih authored
This flag works like -fbreak-on-exception, but only stops on uncaught exceptions.
-
- 06 Sep, 2007 1 commit
-
-
nr@eecs.harvard.edu authored
Changes too numerous to comment on, but here is some old history that I saved: Wed Aug 15 11:07:13 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * type synonyms made consistent with new Cmm types M ./compiler/nativeGen/MachInstrs.hs -2 +2 Mon Aug 20 19:22:14 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * pushing return info beyond cmm into codegen M ./compiler/codeGen/Bitmap.hs r3 M ./compiler/codeGen/CgBindery.lhs r3 M ./compiler/codeGen/CgCallConv.hs r3 M ./compiler/codeGen/CgCase.lhs r3 M ./compiler/codeGen/CgClosure.lhs r3 M ./compiler/codeGen/CgCon.lhs r3 M ./compiler/codeGen/CgExpr.lhs r3 M ./compiler/codeGen/CgForeignCall.hs -6 +7 r3 M ./compiler/codeGen/CgHeapery.lhs r3 M ./compiler/codeGen/CgHpc.hs +1 r3 M ./compiler/codeGen/CgInfoTbls.hs r3 M ./compiler/codeGen/CgLetNoEscape.lhs r3 M ./compiler/codeGen/CgMonad.lhs r3 M ./compiler/codeGen/CgParallel.hs r3 M ./compiler/codeGen/CgPrimOp.hs +3 r3 M ./compiler/codeGen/CgProf.hs r3 M ./compiler/codeGen/CgStackery.lhs r3 M ./compiler/codeGen/CgTailCall.lhs r3 M ./compiler/codeGen/CgTicky.hs r3 M ./compiler/codeGen/CgUtils.hs -1 +1 r3 M ./compiler/codeGen/ClosureInfo.lhs r3 M ./compiler/codeGen/CodeGen.lhs r3 M ./compiler/codeGen/SMRep.lhs r3 M ./compiler/nativeGen/AsmCodeGen.lhs -2 +2 r1 M ./compiler/nativeGen/MachCodeGen.hs -3 +3 r1 M ./compiler/nativeGen/MachInstrs.hs r1 M ./compiler/nativeGen/MachRegs.lhs r1 M ./compiler/nativeGen/NCGMonad.hs r1 M ./compiler/nativeGen/PositionIndependentCode.hs r1 M ./compiler/nativeGen/PprMach.hs r1 M ./compiler/nativeGen/RegAllocInfo.hs r1 M ./compiler/nativeGen/RegisterAlloc.hs r1 Mon Aug 20 20:54:41 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * put CmmReturnInfo into a CmmCall (and related types) M ./compiler/cmm/Cmm.hs -2 +1 r3 M ./compiler/cmm/CmmBrokenBlock.hs -13 +12 r1 M ./compiler/cmm/CmmCPS.hs -3 +3 M ./compiler/cmm/CmmCPSGen.hs -8 +6 r1 M ./compiler/cmm/CmmLint.hs -1 +1 M ./compiler/cmm/CmmLive.hs -1 +1 M ./compiler/cmm/CmmOpt.hs -3 +3 M ./compiler/cmm/CmmParse.y -6 +6 r3 M ./compiler/cmm/PprC.hs -3 +3 M ./compiler/cmm/PprCmm.hs -7 +4 r2 M ./compiler/codeGen/CgForeignCall.hs -7 +6 r2 M ./compiler/codeGen/CgHpc.hs -1 r1 M ./compiler/codeGen/CgPrimOp.hs -3 r1 M ./compiler/codeGen/CgUtils.hs -1 +1 r1 M ./compiler/nativeGen/AsmCodeGen.lhs -2 +2 M ./compiler/nativeGen/MachCodeGen.hs -3 +3 r1 Tue Aug 21 18:09:13 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * add call info in nativeGen M ./compiler/nativeGen/AsmCodeGen.lhs r1 M ./compiler/nativeGen/MachInstrs.hs r1 M ./compiler/nativeGen/MachRegs.lhs r1 M ./compiler/nativeGen/NCGMonad.hs r1 M ./compiler/nativeGen/PositionIndependentCode.hs r1 M ./compiler/nativeGen/PprMach.hs r1 M ./compiler/nativeGen/RegAllocInfo.hs r1 Wed Aug 22 16:41:58 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * ListGraph is now a newtype, not a synonym The resultant bookkeepping is unenviable, but the change greatly simplifies our ability to make Cmm things propertly Outputable for both list-graph and zipper-graph representations. M ./compiler/cmm/Cmm.hs -5 +3 M ./compiler/cmm/CmmCPS.hs -2 +2 M ./compiler/cmm/CmmCPSGen.hs -1 +1 M ./compiler/cmm/CmmContFlowOpt.hs -3 +3 M ./compiler/cmm/CmmCvt.hs -2 +2 M ./compiler/cmm/CmmInfo.hs -2 +3 M ./compiler/cmm/CmmLint.hs -1 +1 M ./compiler/cmm/CmmOpt.hs -2 +2 M ./compiler/cmm/PprC.hs -1 +1 M ./compiler/cmm/PprCmm.hs -5 +8 M ./compiler/cmm/PprCmmZ.hs -7 +1 M ./compiler/codeGen/CgMonad.lhs -1 +1 M ./compiler/nativeGen/AsmCodeGen.lhs -15 +15 M ./compiler/nativeGen/MachCodeGen.hs -2 +2 M ./compiler/nativeGen/PositionIndependentCode.hs -6 +6 M ./compiler/nativeGen/PprMach.hs -3 +2 M ./compiler/nativeGen/RegAllocColor.hs +1 M ./compiler/nativeGen/RegAllocLinear.hs -4 +5 M ./compiler/nativeGen/RegCoalesce.hs -6 +6 M ./compiler/nativeGen/RegLiveness.hs -12 +12 Thu Aug 23 13:44:49 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * diagnostic assistance in case fromJust fails M ./compiler/nativeGen/MachCodeGen.hs -2 +5 Thu Aug 23 14:07:28 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * give every block, even the first, a label With branch-chain elimination, the first block of a procedure might be the target of a branch. This actually happens to a dozen or more procedures in the run-time system. M ./compiler/nativeGen/PprMach.hs -8 +3 Fri Aug 24 17:27:04 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * clean up the code in PprMach M ./compiler/nativeGen/PprMach.hs -16 +14 Fri Aug 24 19:35:03 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * a bunch of impedance matching to get the compiler to build, plus * the plus is diagnostics for unreachable code, which required moving a lot of prettyprinting code M ./compiler/cmm/Cmm.hs -7 +5 M ./compiler/cmm/CmmCPSZ.hs -1 +1 M ./compiler/cmm/CmmCvt.hs -8 +8 M ./compiler/cmm/CmmParse.y -4 +3 M ./compiler/cmm/MkZipCfg.hs -19 +9 M ./compiler/cmm/PprCmmZ.hs -118 +4 M ./compiler/cmm/ZipCfg.hs -1 +13 M ./compiler/cmm/ZipCfgCmm.hs -10 +129 M ./compiler/main/HscMain.lhs -4 +4 M ./compiler/nativeGen/NCGMonad.hs -2 +2 M ./compiler/nativeGen/RegAllocInfo.hs -3 +3 Fri Aug 31 14:38:02 BST 2007 Norman Ramsey <nr@eecs.harvard.edu> * fix a warning about an import M ./compiler/nativeGen/RegAllocColor.hs -1 +1
-
- 03 Sep, 2007 1 commit
-
-
Ben.Lippmeier@anu.edu.au authored
Avoid coalescing nodes in the register conflict graph if the new node will not be trivially colorable. Also remove the front end aggressive coalescing pass. For typical Haskell code the graph coloring allocator now does about as well as the linear allocator. For code with a large amount of register pressure it does much better, but takes longer. For SHA1.lhs from darcs on x86 spills reloads reg-reg-moves inserted inserted left in code compile-time linear 1068 1311 229 7.69(s) graph 387 902 340 16.12(s)
-
- 04 Sep, 2007 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 03 Sep, 2007 1 commit
-
-
Ian Lynagh authored
Older GHCs can't parse OPTIONS_GHC. This also changes the URL referenced for the -w options from WorkingConventions#Warnings to CodingStyle#Warnings for the compiler modules.
-
- 01 Sep, 2007 1 commit
-
-
Ian Lynagh authored
-
- 25 Aug, 2007 1 commit
-
-
Ian Lynagh authored
-
- 24 Aug, 2007 1 commit
-
-
Ian Lynagh authored
-