summaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Some alpha renamingIan Lynagh2012-10-1697-336/+336
| | | | | Mostly d -> g (matching DynFlag -> GeneralFlag). Also renamed if* to when*, matching the Haskell if/when names
* Remove a copy of foldM, and use the standard function insteadIan Lynagh2012-10-161-7/+2
|
* Whitespace only in simplStg/SimplStg.lhsIan Lynagh2012-10-161-54/+47
|
* Rename setDynFlag, unSetDynFlag following the DynFlag->GeneralFlag renameIan Lynagh2012-10-161-58/+58
|
* Rename DynFlag to GeneralFlagIan Lynagh2012-10-1614-65/+65
| | | | | This avoids confusion due to [DynFlag] and DynFlags being completely different types.
* Remove unused dumpIfSet_dyn_orIan Lynagh2012-10-151-8/+1
|
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-10-151-0/+11
|\
| * Add a new traceMarker# primop for use in profiling outputDuncan Coutts2012-10-151-0/+11
| | | | | | | | | | | | | | | | | | In time-based profiling visualisations (e.g. heap profiles and ThreadScope) it would be useful to be able to mark particular points in the execution and have those points in time marked in the visualisation. The traceMarker# primop currently emits an event into the eventlog. In principle it could be extended to do something in the heap profiling too.
* | Make -ddump-cmmz-cfg turn on the right flagIan Lynagh2012-10-151-1/+1
| | | | | | | | It was turning on Opt_D_dump_cmmz_cbe rather than Opt_D_dump_cmmz_cfg
* | Use -O0 -g C flags when compiling a debug wayIan Lynagh2012-10-151-1/+1
|/
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-10-134-23/+40
|\
| * Add a type signature needed when using GADTsSimon Peyton Jones2012-10-121-0/+1
| |
| * Fix error in tidying the type variables of a TyCon when building an ↵Simon Peyton Jones2012-10-121-1/+1
| | | | | | | | interface file
| * Be lazier when typechecking data type contexts (Trac #7321)Simon Peyton Jones2012-10-121-14/+11
| | | | | | | | | | | | | | | | | | | | We should be lazy when type-checking the equality-contraint part of a data constructor's type, to make the knot-tying work out right. The fact that it's always worked before is a fluke: no one else wrote a GADT whose type index mentions itself data T a wher MkT :: T (T Int)
| * Ensure we produce a FunTy for functions (Trac #7312)Simon Peyton Jones2012-10-121-8/+27
| | | | | | | | | | | | | | | | | | The issue here was with a function type written prefix (->) a b where we were not generating a FunTy, which blew the invariant that function types are always FunTys. We can't look at the TyCon directly because it may be knot-tied, so we look at the name instead.
* | When dynamic-by-default, don't use the GHCi linkerIan Lynagh2012-10-136-218/+272
|/ | | | We instead link objects into a temporary DLL and dlopen that
* Whitespace only in types/FamInstEnv.lhsIan Lynagh2012-10-111-142/+135
|
* Add an "Outputable (InstInfo a)" instanceIan Lynagh2012-10-111-0/+3
|
* Whitespace only in typecheck/TcDeriv.lhsIan Lynagh2012-10-111-536/+529
|
* Whitespace only in typecheck/TcGenDeriv.lhsIan Lynagh2012-10-111-669/+663
|
* Fix build on WindowsIan Lynagh2012-10-111-1/+1
| | | | | gcc couldn't find ghc_boot_platform.h. I'm not sure why it worked on Linux.
* Move the primop bits into the compiler/stage<n>/build directoriesIan Lynagh2012-10-102-65/+57
| | | | We shouldn't be generating files in the source directories
* Put the generated Parser.y under compiler/stage<n>/build; fixes #7195Ian Lynagh2012-10-101-1/+12
|
* Make -fexcess-precision a fully-dynamic flagIan Lynagh2012-10-093-33/+18
| | | | It used to be part-dynamic, part-static.
* Make -f(no-)pre-inlining a dynamic flagIan Lynagh2012-10-095-31/+33
|
* Whitespace only in simplCore/SimplMonad.lhsIan Lynagh2012-10-091-49/+42
|
* Whitespace only in simplCore/SimplUtils.lhsIan Lynagh2012-10-091-561/+554
|
* Whitespace only in simplCore/SimplEnv.lhsIan Lynagh2012-10-091-244/+240
|
* Make -fsimple-list-literals a dynamic flagIan Lynagh2012-10-094-8/+4
|
* Make -fmax-worker-args a dynamic flagIan Lynagh2012-10-094-86/+90
|
* Make the -dsuppress-* flags dynamicIan Lynagh2012-10-098-106/+100
|
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-10-093-34/+42
|\
| * Fix commentSimon Marlow2012-10-091-1/+1
| | | | | | | | patch submitted by marcotmarcot@gmail.com
| * Merge ../ghcRoman Leshchinskiy2012-10-082-33/+41
| |\
| | * Fix copyArray# bug in new code generatorRoman Leshchinskiy2012-10-081-17/+22
| | |
| | * Fix copyArray# bug in old code generatorRoman Leshchinskiy2012-10-081-16/+19
| | |
* | | -fliberate-case-threshold is already a dynamic flagIan Lynagh2012-10-091-1/+0
| | |
* | | Make the opt_UF_* static flags dynamicIan Lynagh2012-10-0916-159/+193
| | | | | | | | | | | | | | | | | | | | | | | | I also removed the default values from the "Discounts and thresholds" note: most of them were no longer up-to-date. Along the way I added FloatSuffix to the argument parser, analogous to IntSuffix.
* | | Remove unnecessary warning suppressionIan Lynagh2012-10-091-3/+0
| | |
* | | Make the -ferror-spans flag dynamicIan Lynagh2012-10-094-13/+9
|/ /
* | Put the DynFlags in a global variable for tracing; fixes #7304Ian Lynagh2012-10-085-30/+33
|/ | | | | | | | | This is an ugly kludge to make a DynFlags value available for the 'trace' functions. It may not be the value we really ought to use, but it'll be good enough for the pretty-printer to use. Ideally we'd pass the real DynFlags down to all the trace calls, but this will do for now at least.
* untabSimon Marlow2012-10-081-253/+253
|
* expand tabsSimon Marlow2012-10-081-58/+58
|
* Produce new-style Cmm from the Cmm parserSimon Marlow2012-10-0853-1154/+1502
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main change here is that the Cmm parser now allows high-level cmm code with argument-passing and function calls. For example: foo ( gcptr a, bits32 b ) { if (b > 0) { // we can make tail calls passing arguments: jump stg_ap_0_fast(a); } return (x,y); } More details on the new cmm syntax are in Note [Syntax of .cmm files] in CmmParse.y. The old syntax is still more-or-less supported for those occasional code fragments that really need to explicitly manipulate the stack. However there are a couple of differences: it is now obligatory to give a list of live GlobalRegs on every jump, e.g. jump %ENTRY_CODE(Sp(0)) [R1]; Again, more details in Note [Syntax of .cmm files]. I have rewritten most of the .cmm files in the RTS into the new syntax, except for AutoApply.cmm which is generated by the genapply program: this file could be generated in the new syntax instead and would probably be better off for it, but I ran out of enthusiasm. Some other changes in this batch: - The PrimOp calling convention is gone, primops now use the ordinary NativeNodeCall convention. This means that primops and "foreign import prim" code must be written in high-level cmm, but they can now take more than 10 arguments. - CmmSink now does constant-folding (should fix #7219) - .cmm files now go through the cmmPipeline, and as a result we generate better code in many cases. All the object files generated for the RTS .cmm files are now smaller. Performance should be better too, but I haven't measured it yet. - RET_DYN frames are removed from the RTS, lots of code goes away - we now have some more canned GC points to cover unboxed-tuples with 2-4 pointers, which will reduce code size a little.
* Add a ToDo commentSimon Marlow2012-10-051-0/+21
|
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-10-057-58/+85
|\
| * Merge branch 'master' of darcs.haskell.org:/home/darcs/ghcSimon Peyton Jones2012-10-045-163/+192
| |\
| * | Do not do type-class defaulting if there are insoluble constraintsSimon Peyton Jones2012-10-041-1/+3
| | | | | | | | | | | | | | | | | | Type-class defaulting won't help with those insolubles, and it does make arbitrary choices that obfuscate the error messages from the insolubles.
| * | Improve erorr location for Given errorsSimon Peyton Jones2012-10-042-37/+59
| | | | | | | | | | | | | | | Note [Inaccessible code]. Fixes Trac #7293.
| * | Do not create extra evidence given/derived variables in the Refl case of ↵Simon Peyton Jones2012-10-041-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | rewriteCtFlavor Previously this optimisation only applied in the Wanted case, but it works perfectly well in the others too, and saves redundant evidence bindings.