summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate the DatatypeContexts extensionIan Lynagh2011-06-151-1/+2
|
* Eliminate hardcoded names of D.A.PManuel M T Chakravarty2011-06-167-361/+124
|
* Port "6c7d2a9 Use the new memcpy/memmove/memset MachOps" to new codegen.Edward Z. Yang2011-06-151-37/+23
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Fix -Werror failure in native code genJohan Tibell2011-06-151-7/+8
|
* Subtle bug in canonicalization of givensDimitrios Vytiniotis2011-06-151-3/+28
| | | | involving type synonyms. Test case is typecheck/should_compile/GivenTypeSynonym.hs
* Merge branch 'memcpy'David Terei2011-06-143-32/+122
|\
| * Unroll memcpy in the X86 backendJohan Tibell2011-06-142-8/+97
| | | | | | | | Signed-off-by: David Terei <davidterei@gmail.com>
| * Use the new memcpy/memmove/memset MachOpsJohan Tibell2011-06-141-24/+25
| | | | | | | | Signed-off-by: David Terei <davidterei@gmail.com>
* | Add type signature to invalidateVolatile.Edward Z. Yang2011-06-151-0/+2
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* | Fix build for GHC earlier than 7.0.1.Edward Z. Yang2011-06-152-2/+6
|/ | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Implement regslot inlining, document soundness concerns.Edward Z. Yang2011-06-143-25/+141
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Split out assignment rewriting to own module.Edward Z. Yang2011-06-144-464/+496
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Rename CmmCPS to CmmPipeline.Edward Z. Yang2011-06-144-17/+15
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Move control flow optimization to CmmCPS.Edward Z. Yang2011-06-143-38/+40
| | | | | | | | | | Unfortunately, I couldn't remove all incidences of runCmmContFlowOpt from HscMain; in particular, there is a Cmm conversion testing facility which may run with only control flow optimizations, which I preserved the semantics of. Given the state of the current codegen, this code might be moribund anyway. Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-06-1323-101/+310
|\
| * Remove type synonyms for CmmFormals, CmmActuals (and hinted versions).Edward Z. Yang2011-06-1319-71/+65
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
| * Bake in ByteOff to ParamLocation, and remove ArgumentFormat synonym.Edward Z. Yang2011-06-133-11/+7
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
| * Remove unused assignArguments and argumentsSize.Edward Z. Yang2011-06-132-17/+2
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
| * Port "Make array copy primops inline" and related patches to new codegen.Edward Z. Yang2011-06-135-4/+234
| | | | | | | | | | | | | | | | | | | | The following patches were ported: d0faaa6 Fix segfault in array copy primops on 32-bit 18691d4 Make assignTemp_ less pessimistic 9c23f06 Make array copy primops inline Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
| * Extra comment about WithRegUsage.Edward Z. Yang2011-06-131-0/+4
| | | | | | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* | Improve the reporting of module cycles, to give a nice message like thisSimon Peyton Jones2011-06-131-15/+48
| | | | | | | | | | | | | | | | | | | | Module imports form a cycle: module `Foo4' imports `Foo' which imports `Foo2' which imports `Foo3' which imports `Foo4' as requested by Bryan Richter
* | Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-06-1323-290/+379
|\ \ | |/
| * Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-06-1317-223/+312
| |\
| | * Fix warningsManuel M T Chakravarty2011-06-132-36/+36
| | |
| | * Added a pragma {-# NOVECTORISE f #-} that suppresses vectorisation of ↵Manuel M T Chakravarty2011-06-1317-188/+277
| | | | | | | | | | | | toplevel variable 'f'.
| * | Fix the SPECIALISE error in the haddock invocation of validateSimon Peyton Jones2011-06-131-8/+15
| |/ | | | | | | | | | | | | | | | | | | | | Specifically - Turn the error "You cannot SPECIALISE f because it is not INLINEABLE" into a warning - More importantly, suppress it altogether when HscTarget = HscNothing or HscInterpreted because then we aren't going to be generating unfoldings
| * Fix building of optional packagesIan Lynagh2011-06-122-2/+5
| | | | | | | | The change to the packages file format broke it
| * Remove some trailing whitespaceIan Lynagh2011-06-121-1/+1
| | | | | | | | | | We were getting InstallExtraPackages="YES "
| * Tweak some makefile codeIan Lynagh2011-06-121-2/+2
| |
| * Remove upstream repos from the packages fileIan Lynagh2011-06-113-55/+45
| | | | | | | | | | | | | | We no longer pull directly from upstream repos, so it wasn't useful to have it programatically available. The info, and more, is now on http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries#Repositorylocations instead.
* | Comment onlySimon Peyton Jones2011-06-131-1/+2
| |
* | Don't allow specialisation of class methods (fixes Trac #5001)Simon Peyton Jones2011-06-131-0/+9
| | | | | | | | | | | | | | | | | | It doesn't make sense to specialise class methods -- their code is simply a record selector. Moreover, such methods don't (currently) have an inl_sat field in their InlinePragma which made DsBinds.makeCoreArity bleat. This patch just ignores such pragmas, with a warning.
* | Make TH capable of quoting GADT declarations (Trac #5217)Simon Peyton Jones2011-06-114-47/+103
|/ | | | | | | | | | | | | | | | | | | | Template Haskell doesn't support GADTs directly but we can use equality constraints to do the job. Here's an example of the dump from splicing such a declaration: [d| data T a b where T1 :: Int -> T Int Char T2 :: a -> T a a T3 :: a -> T [a] a T4 :: a -> b -> T b [a] |] ======> T5217.hs:(6,3)-(9,53) data T a[aQW] b[aQX] = (b[aQX] ~ Char, a[aQW] ~ Int) => T1 Int | b[aQX] ~ a[aQW] => T2 a[aQW] | a[aQW] ~ [b[aQX]] => T3 b[aQX] | forall a[aQY]. b[aQX] ~ [a[aQY]] => T4 a[aQY] a[aQW]
* Ignore UNPACK pragmas with OmitInterfacePragmas is on (fixes Trac #5252)Simon Peyton Jones2011-06-112-24/+23
| | | | | | | The point here is that if a data type chooses a representation that unpacks an argument field, the representation of the argument field must be visible to clients. And it may not be if OmitInterfacePragmas is on.
* Further improvents to duplicate-export warnings (Trac #2436)Simon Peyton Jones2011-06-111-11/+20
|
* Comments onlySimon Peyton Jones2011-06-111-0/+6
|
* Without -O do not complain about SPECIALISE pragmas for non-INLINABLE thingsSimon Peyton Jones2011-06-111-4/+17
| | | | Otherwise Haddock (which compiles stuff without -O) falls over
* Fix tracking of what RdrNames are used (fixes Trac #5211)Simon Peyton Jones2011-06-113-11/+27
| | | | | | | | | | | | | | | | | The issue here was: what import declaration brings into scope the 'op here import qualified Foo( op ) import Bar( C(op) ) instance C Int where op = ... Well, the import of Bar, obviously. But what if the import Bar had been import Bar( C ) Then the instance is still supposed to work, getting op from the Foo.op imported from Foo. (I'm assuming its the same op, of course.)
* Add -fno-omit-interface-pragmas to SrcLoc, to work around Trac #5252Simon Peyton Jones2011-06-111-0/+6
| | | | | | | | | | We have to do this until the earliest bootstrap compiler has fixed #5252. It's no big deal; it just means that SrcLoc.hi has lots of stuff even when compiling GHC without -O. Lacking this, you get (GHC version 7.0.3 for i386-unknown-mingw32): reboxProduct: not a product ghc-7.1:SrcLoc.RealSrcLoc{tc r8J}
* Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-06-1031-400/+519
|\
| * Merge branch 'master' of http://darcs.haskell.org/ghcIan Lynagh2011-06-107-66/+100
| |\
| | * Take vectorisation declarations into account during the initial occurrence ↵Manuel M T Chakravarty2011-06-107-66/+100
| | | | | | | | | | | | analysis (right after desugaring).
| * | Fix parsing "$topdir" in package configIan Lynagh2011-06-102-36/+40
| | | | | | | | | | | | It was only working when followed by something, e.g. "$topdir/base".
| * | Follow Src{Loc,Span} changes in other parts of the treeIan Lynagh2011-06-093-6/+8
| | |
| * | Refactor SrcLoc and SrcSpanIan Lynagh2011-06-0922-292/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "Unhelpful" cases are now in a separate type. This allows us to improve various things, e.g.: * Most of the panic's in SrcLoc are now gone * The Lexer now works with RealSrcSpans rather than SrcSpans, i.e. it knows that it has real locations and thus can assume that the line number etc really exists * Some of the more suspicious cases are no longer necessary, e.g. we no longer need this case in advanceSrcLoc: advanceSrcLoc loc _ = loc -- Better than nothing More improvements can probably be made, e.g. tick locations can probably use RealSrcSpans too.
| * | Fix buildIan Lynagh2011-06-091-1/+1
| | |
| * | Fix for $topdir appearing in the haddock-html fieldDuncan Coutts2011-06-091-1/+2
| |/ | | | | | | | | I'd naively assumed that the haddock-html field would only use the $httptopdir variable. Hopefully this will fix the windows build.
* | Kill bogus duplicate-export warnings (fix Trac #2436)Simon Peyton Jones2011-06-101-13/+42
| | | | | | | | | | The general rule is now that we don't complain about a duplicate export from a "...". See RnNames.dupExport_ok
* | Make DsMeta catch up with LastStmt (fix Trac #5235)Simon Peyton Jones2011-06-101-0/+4
| | | | | | | | | | The new monad comprehension stuff introduce LastStmt, and DsMeta must convert that to TH syntax
* | Comments, layout and cmm-notesSimon Peyton Jones2011-06-103-19/+68
|/ | | | ...all to do with the new codgen path