ghc-hetmet.git
15 years agoFix context for fwd_pure_anal to match that of forward_sol
simonpj@microsoft.com [Wed, 7 May 2008 07:28:25 +0000 (07:28 +0000)]
Fix context for fwd_pure_anal to match that of forward_sol

15 years agoFIX validate: Fix warnings in new literal code
Roman Leshchinskiy [Wed, 7 May 2008 03:54:17 +0000 (03:54 +0000)]
FIX validate: Fix warnings in new literal code

Validate uses -Werror so the warnings broke it.

15 years agoVectorise even with -O0
Roman Leshchinskiy [Wed, 7 May 2008 02:00:55 +0000 (02:00 +0000)]
Vectorise even with -O0

15 years agoRemove ilxGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:44:56 +0000 (10:44 +0000)]
Remove ilxGen; part of trac #2243

15 years agoRemove javaGen; part of trac #2243
Ian Lynagh [Tue, 6 May 2008 10:43:07 +0000 (10:43 +0000)]
Remove javaGen; part of trac #2243

15 years agoAdd a comment about why DsMeta needs the warning kludge
Ian Lynagh [Tue, 6 May 2008 10:35:06 +0000 (10:35 +0000)]
Add a comment about why DsMeta needs the warning kludge

15 years agoFix Trac #2246; overhaul handling of overloaded literals
simonpj@microsoft.com [Tue, 6 May 2008 10:25:51 +0000 (10:25 +0000)]
Fix Trac #2246; overhaul handling of overloaded literals

The real work of fixing Trac #2246 is to use shortCutLit in
MatchLit.dsOverLit, so that type information discovered late in the
day by the type checker can still be exploited during desugaring.

However, as usual I found myself doing some refactoring along the
way, to tidy up the handling of overloaded literals.   The main
change is to split HsOverLit into a record, which in turn uses
a sum type for the three variants.  This makes the code significantly
more modular.

data HsOverLit id
  = OverLit {
ol_val :: OverLitVal,
ol_rebindable :: Bool, -- True <=> rebindable syntax
-- False <=> standard syntax
ol_witness :: SyntaxExpr id, -- Note [Overloaded literal witnesses]
ol_type :: PostTcType }

data OverLitVal
  = HsIntegral   !Integer    -- Integer-looking literals;
  | HsFractional !Rational    -- Frac-looking literals
  | HsIsString   !FastString  -- String-looking literals

15 years agoFix type signature to work without -XRelaxedPolyRec, and hence earlier GHCs
simonpj@microsoft.com [Tue, 6 May 2008 09:58:17 +0000 (09:58 +0000)]
Fix type signature to work without -XRelaxedPolyRec, and hence earlier GHCs

15 years agoEliminate a warning for compiler/basicTypes/OccName.lhs
Thorkil Naur [Sun, 4 May 2008 19:15:11 +0000 (19:15 +0000)]
Eliminate a warning for compiler/basicTypes/OccName.lhs

15 years agoExternal Core tools: add note to README about where to find documentation
Tim Chevalier [Mon, 5 May 2008 00:46:03 +0000 (00:46 +0000)]
External Core tools: add note to README about where to find documentation

15 years agoSome External Core doc fixes
Tim Chevalier [Mon, 5 May 2008 00:39:55 +0000 (00:39 +0000)]
Some External Core doc fixes

15 years agoExternal Core tools: track new syntax for newtypes
Tim Chevalier [Mon, 5 May 2008 00:10:50 +0000 (00:10 +0000)]
External Core tools: track new syntax for newtypes

Update External Core tools to reflect new syntax for
newtypes. (Notice that the typechecker is 90 lines shorter!)

Also: improve dependency-finding, miscellaneous refactoring.

15 years agoImprove External Core newtype syntax
Tim Chevalier [Sun, 4 May 2008 23:02:33 +0000 (23:02 +0000)]
Improve External Core newtype syntax

I realized that recursive newtypes no longer have to be
distinguished in the External Core AST, because explicit coercions
allow the typechecker to typecheck newtypes without ever
expanding newtypes. So, now all newtypes in External Core have
a representation clause. O frabjous day!

15 years agoRemove a duplicate module import in BuildTyCl
Ian Lynagh [Sun, 4 May 2008 22:20:23 +0000 (22:20 +0000)]
Remove a duplicate module import in BuildTyCl

15 years agoMake SimplEnv warning-free
Ian Lynagh [Sun, 4 May 2008 21:31:23 +0000 (21:31 +0000)]
Make SimplEnv warning-free

15 years agoMake SimplUtils warning-free
Ian Lynagh [Sun, 4 May 2008 21:24:47 +0000 (21:24 +0000)]
Make SimplUtils warning-free

15 years agoRemove a hack for GHC 3.03 in SimplMonad
Ian Lynagh [Sun, 4 May 2008 20:59:35 +0000 (20:59 +0000)]
Remove a hack for GHC 3.03 in SimplMonad

15 years agoMake SimplMonad warning-free
Ian Lynagh [Sun, 4 May 2008 20:56:30 +0000 (20:56 +0000)]
Make SimplMonad warning-free

15 years agoMake LiberateCase warning-free
Ian Lynagh [Sun, 4 May 2008 20:47:29 +0000 (20:47 +0000)]
Make LiberateCase warning-free

15 years agoMake FloatOut warning-free
Ian Lynagh [Sun, 4 May 2008 20:40:58 +0000 (20:40 +0000)]
Make FloatOut warning-free

15 years agoMake FloatIn warning-free
Ian Lynagh [Sun, 4 May 2008 20:25:38 +0000 (20:25 +0000)]
Make FloatIn warning-free

15 years agoMake SetLevels warning-free
Ian Lynagh [Sun, 4 May 2008 20:17:10 +0000 (20:17 +0000)]
Make SetLevels warning-free

15 years agoMake Vectorise warning-free
Ian Lynagh [Sun, 4 May 2008 19:54:30 +0000 (19:54 +0000)]
Make Vectorise warning-free

15 years agoRemove some dead code from VectType
Ian Lynagh [Sun, 4 May 2008 19:44:32 +0000 (19:44 +0000)]
Remove some dead code from VectType

15 years agoMake VectType warning-free
Ian Lynagh [Sun, 4 May 2008 19:43:35 +0000 (19:43 +0000)]
Make VectType warning-free

15 years agoMake IfaceEnv warning-free
Ian Lynagh [Sun, 4 May 2008 19:09:44 +0000 (19:09 +0000)]
Make IfaceEnv warning-free

15 years agoMake IfaceSyn warning-free
Ian Lynagh [Sun, 4 May 2008 19:07:10 +0000 (19:07 +0000)]
Make IfaceSyn warning-free

15 years agoMake IfaceType warning-free
Ian Lynagh [Sun, 4 May 2008 18:35:29 +0000 (18:35 +0000)]
Make IfaceType warning-free

15 years agoMake BuildTyCl warning-free
Ian Lynagh [Sun, 4 May 2008 18:23:36 +0000 (18:23 +0000)]
Make BuildTyCl warning-free

15 years agoMake BinIface warning-free
Ian Lynagh [Sun, 4 May 2008 18:20:31 +0000 (18:20 +0000)]
Make BinIface warning-free

15 years agoMake LoadIface warning-free
Ian Lynagh [Sun, 4 May 2008 18:08:47 +0000 (18:08 +0000)]
Make LoadIface warning-free

15 years agoMake MkIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:49:52 +0000 (17:49 +0000)]
Make MkIface warning-free

15 years agoMake TcIface warning-free
Ian Lynagh [Sun, 4 May 2008 17:29:06 +0000 (17:29 +0000)]
Make TcIface warning-free

15 years agoMake StgLint warning-free
Ian Lynagh [Sun, 4 May 2008 15:13:43 +0000 (15:13 +0000)]
Make StgLint warning-free

15 years agoMake CoreToStg warning-free
Ian Lynagh [Sun, 4 May 2008 14:54:32 +0000 (14:54 +0000)]
Make CoreToStg warning-free

15 years agoMake DsArrows warning-free
Ian Lynagh [Sun, 4 May 2008 14:04:43 +0000 (14:04 +0000)]
Make DsArrows warning-free

15 years agoMake DsCCall warning-free
Ian Lynagh [Sun, 4 May 2008 13:26:35 +0000 (13:26 +0000)]
Make DsCCall warning-free

15 years agoMake DsMeta almost warning-free
Ian Lynagh [Sun, 4 May 2008 12:57:42 +0000 (12:57 +0000)]
Make DsMeta almost warning-free
GHC claims that OccName is unused, but it is wrong.

15 years agoMake MatchLit warning-free
Ian Lynagh [Sun, 4 May 2008 11:48:48 +0000 (11:48 +0000)]
Make MatchLit warning-free

15 years agoAdd an Outputable EquationInfo instance
Ian Lynagh [Sun, 4 May 2008 11:48:27 +0000 (11:48 +0000)]
Add an Outputable EquationInfo instance

15 years agoWhitespace only (TcInstDcls)
Ian Lynagh [Sun, 4 May 2008 11:11:01 +0000 (11:11 +0000)]
Whitespace only (TcInstDcls)

15 years agoFix the stage 1 build
Ian Lynagh [Sun, 4 May 2008 01:17:33 +0000 (01:17 +0000)]
Fix the stage 1 build

15 years agoRemove unused function mapInScopeSet
Ian Lynagh [Sat, 3 May 2008 19:14:50 +0000 (19:14 +0000)]
Remove unused function mapInScopeSet

15 years agoMake part of the parser a bit stricter
Ian Lynagh [Fri, 2 May 2008 22:57:17 +0000 (22:57 +0000)]
Make part of the parser a bit stricter

15 years agoFix some space-wasting in the Parser
Ian Lynagh [Fri, 2 May 2008 22:56:45 +0000 (22:56 +0000)]
Fix some space-wasting in the Parser
(fst x, snd x) => x

15 years agoMake ByteCodeGen warning-free
Ian Lynagh [Sun, 4 May 2008 00:25:27 +0000 (00:25 +0000)]
Make ByteCodeGen warning-free

15 years agoTiny code tweak in the definition of io in GhciMonad; no semantic change
Ian Lynagh [Sat, 3 May 2008 23:52:11 +0000 (23:52 +0000)]
Tiny code tweak in the definition of io in GhciMonad; no semantic change

15 years agoMake GhciMonad warning-free
Ian Lynagh [Sat, 3 May 2008 23:51:35 +0000 (23:51 +0000)]
Make GhciMonad warning-free

15 years agoTiny code recatoring in GhciTags
Ian Lynagh [Sat, 3 May 2008 23:45:39 +0000 (23:45 +0000)]
Tiny code recatoring in GhciTags

15 years agoMake GhciTags warning-free
Ian Lynagh [Sat, 3 May 2008 23:44:41 +0000 (23:44 +0000)]
Make GhciTags warning-free

15 years agoMake ObjLink warning-free
Ian Lynagh [Sat, 3 May 2008 23:34:18 +0000 (23:34 +0000)]
Make ObjLink warning-free

15 years agoRemove a hack from a time when ghc couldn't do seq
Ian Lynagh [Sat, 3 May 2008 23:28:32 +0000 (23:28 +0000)]
Remove a hack from a time when ghc couldn't do seq

15 years agoMake RnExpr warning-free
Ian Lynagh [Sat, 3 May 2008 23:27:04 +0000 (23:27 +0000)]
Make RnExpr warning-free

15 years agoMake RnEnv warning-free
Ian Lynagh [Sat, 3 May 2008 22:34:30 +0000 (22:34 +0000)]
Make RnEnv warning-free

15 years agoFix warnings in RnNames
Ian Lynagh [Sat, 3 May 2008 22:15:12 +0000 (22:15 +0000)]
Fix warnings in RnNames

15 years agoMake RnBinds warning-free
Ian Lynagh [Sat, 3 May 2008 21:31:49 +0000 (21:31 +0000)]
Make RnBinds warning-free

15 years agoChange a mappM to mapM_
Ian Lynagh [Sat, 3 May 2008 20:33:54 +0000 (20:33 +0000)]
Change a mappM to mapM_

15 years agoMake RnPat warning-free
Ian Lynagh [Sat, 3 May 2008 20:33:00 +0000 (20:33 +0000)]
Make RnPat warning-free

15 years agoMake RnHsDoc warning-free
Ian Lynagh [Sat, 3 May 2008 20:13:43 +0000 (20:13 +0000)]
Make RnHsDoc warning-free

15 years agoMake RnSource warning-free
Ian Lynagh [Sat, 3 May 2008 20:09:32 +0000 (20:09 +0000)]
Make RnSource warning-free

15 years agoMake RnHsSyn warning-free
Ian Lynagh [Sat, 3 May 2008 17:06:49 +0000 (17:06 +0000)]
Make RnHsSyn warning-free

15 years agoWhitespace only
Ian Lynagh [Sat, 3 May 2008 17:00:53 +0000 (17:00 +0000)]
Whitespace only

15 years agoVectorise polymorphic let bindings
Roman Leshchinskiy [Sun, 4 May 2008 05:40:06 +0000 (05:40 +0000)]
Vectorise polymorphic let bindings

15 years agoImprove syntax for primitive coercions in External Core
Tim Chevalier [Sun, 4 May 2008 02:43:04 +0000 (02:43 +0000)]
Improve syntax for primitive coercions in External Core

Add new syntax in External Core for primitive coercions (trans,
sym, etc.) rather than wiring their names into the ext-core
parser.

15 years agoFix External Core interpreter
Tim Chevalier [Sat, 3 May 2008 23:10:44 +0000 (23:10 +0000)]
Fix External Core interpreter

The External Core interpreter works (in a limited sense).
For details, see the README.

This means we now have a marginally functioning set of
External Core tools.

The other exciting change is that the test driver (Driver.hs)
now computes module dependencies automatically instead of
having a wired-in list of library modules.

15 years agoreplace hints with kinds in parser as well
Norman Ramsey [Sat, 3 May 2008 22:47:20 +0000 (22:47 +0000)]
replace hints with kinds in parser as well

15 years agoreplace Cmm 'hint' with 'kind'
Norman Ramsey [Sat, 3 May 2008 22:45:14 +0000 (22:45 +0000)]
replace Cmm 'hint' with 'kind'
C-- no longer has 'hints'; to guide parameter passing, it
has 'kinds'.  Renamed type constructor, data constructor, and record
fields accordingly

15 years agonew version of ZipDataflow
Norman Ramsey [Sat, 3 May 2008 22:42:08 +0000 (22:42 +0000)]
new version of ZipDataflow
This version combines forward/backard into a type class
(actually two classes) of analysis and transformation.
These type classes will always be expanded away at the client,
so SLPJ may wonder why they exist: it is because the interface
to this module is already very broad, and by overloading the functions
for forward and backward problems, we cut the cognitive load on the
clients in half.

15 years agominor changes to Cmm left over from September 2007
Norman Ramsey [Sat, 3 May 2008 22:34:52 +0000 (22:34 +0000)]
minor changes to Cmm left over from September 2007
Nothing too deep here; primarily tinking with prettyprinting
and names.  Also eliminated some warnings.  This patch covers
most (but not all) of the code NR changed at the very end
of September 2007, just before ICFP hit...

15 years agoMake darcs-all act on all repos in libraries/, not just boot/extra libs
Ian Lynagh [Fri, 2 May 2008 17:47:53 +0000 (17:47 +0000)]
Make darcs-all act on all repos in libraries/, not just boot/extra libs

15 years agoWhen validating, configure with "--prefix=`pwd`/inst"
Ian Lynagh [Fri, 2 May 2008 15:56:49 +0000 (15:56 +0000)]
When validating, configure with "--prefix=`pwd`/inst"
This means a validate build can be installed locally.
`pwd`/inst probably won't give a useful value on all platforms (in
particular there are probably some Windows configurations it doesn't
work for), but I don't think it will ever make the build fail.

15 years agoImprove the unboxed types documentation
Ian Lynagh [Wed, 30 Apr 2008 15:25:08 +0000 (15:25 +0000)]
Improve the unboxed types documentation
Mainly adding descriptions of unboxed literals,

15 years agosumP on doubles and int
keller@cse.unsw.edu.au [Fri, 2 May 2008 03:19:05 +0000 (03:19 +0000)]
sumP on doubles and int

15 years agoFixed vect decl for sumP, enumfromToP
keller@cse.unsw.edu.au [Thu, 1 May 2008 01:18:24 +0000 (01:18 +0000)]
Fixed vect decl for sumP, enumfromToP

15 years agoMissing .0 on float constant.
Don Stewart [Thu, 1 May 2008 00:05:17 +0000 (00:05 +0000)]
Missing .0 on float constant.

15 years agoReplace C99 exp2f(32) call in __2Int_encodeDouble
Don Stewart [Wed, 30 Apr 2008 21:48:27 +0000 (21:48 +0000)]
Replace C99 exp2f(32) call in __2Int_encodeDouble
with constant 4294967296.

exp2f is a C99-ism not availabl everywhere. Replace it
with its result. Helps building on OpenBSD>

15 years agoUse panic rather than error in RegLiveness
Ian Lynagh [Wed, 30 Apr 2008 13:13:49 +0000 (13:13 +0000)]
Use panic rather than error in RegLiveness

15 years agoUpdate an error message
Ian Lynagh [Wed, 30 Apr 2008 13:13:17 +0000 (13:13 +0000)]
Update an error message
error "RegisterAlloc.livenessSCCs" -> error "RegLiveness.livenessSCCs"

15 years agoUpdate a panic message
Ian Lynagh [Wed, 30 Apr 2008 13:10:21 +0000 (13:10 +0000)]
Update a panic message
It was (panic "RegisterAlloc.joinToTargets"), but had since moved to
RegAllocLinear.makeRegMovementGraph.

15 years agoRemove BitSet, FieldLabel, RegisterAlloc from compiler/package.conf.in
Ian Lynagh [Wed, 30 Apr 2008 13:02:51 +0000 (13:02 +0000)]
Remove BitSet, FieldLabel, RegisterAlloc from compiler/package.conf.in
The modules no longer exist. Spotted by Marc Weber.

15 years agoImprove documentation of RULES pragmas
simonpj@microsoft.com [Wed, 30 Apr 2008 08:24:31 +0000 (08:24 +0000)]
Improve documentation of RULES pragmas

15 years agochange topHandlerFastExit to topHandler, so the terminal state gets restored (#2228)
Simon Marlow [Tue, 29 Apr 2008 22:24:42 +0000 (22:24 +0000)]
change topHandlerFastExit to topHandler, so the terminal state gets restored (#2228)

15 years agodon't turn off stdin/stdout buffering after loading a module with ghc -e (#2228)
Simon Marlow [Tue, 29 Apr 2008 22:24:09 +0000 (22:24 +0000)]
don't turn off stdin/stdout buffering after loading a module with ghc -e (#2228)

15 years agoFIX #1933: use a better test for timer_create()
Simon Marlow [Tue, 29 Apr 2008 21:29:45 +0000 (21:29 +0000)]
FIX #1933: use a better test for timer_create()

15 years agoFix Trac #1969: perfomance bug in the specialiser
simonpj@microsoft.com [Mon, 28 Apr 2008 15:57:11 +0000 (15:57 +0000)]
Fix Trac #1969: perfomance bug in the specialiser

The specialiser was using a rather brain-dead representation for
UsageDetails, with much converting from lists to finite maps and
back.  This patch does some significant refactoring.  It doesn't
change the representation altogether, but it does eliminate the
to-and-fro nonsense.

It validates OK, but it's always possible that I have inadvertently
lost specialisation somewhere, so keep an eye out for any run-time
performance regressions.

Oh, and Specialise is now warning-free too.

15 years agoFix Trac #2238: do not use newtype for a class with equality predicates
simonpj@microsoft.com [Mon, 28 Apr 2008 13:47:30 +0000 (13:47 +0000)]
Fix Trac #2238: do not use newtype for a class with equality predicates

See Note [Class newtypes and equality predicates] in this module.

15 years agoAdd :list to ghci's :? help; fixes trac #2217
Ian Lynagh [Sun, 27 Apr 2008 19:00:49 +0000 (19:00 +0000)]
Add :list to ghci's :? help; fixes trac #2217

15 years agoFix an error if an SCC name contains a space; fixes trac #2071
Ian Lynagh [Sun, 27 Apr 2008 11:48:08 +0000 (11:48 +0000)]
Fix an error if an SCC name contains a space; fixes trac #2071

15 years agoFix build on PPC: Add some missing parentheses
Ian Lynagh [Sun, 27 Apr 2008 10:35:45 +0000 (10:35 +0000)]
Fix build on PPC: Add some missing parentheses

15 years agoRefactor some code a bit, and improve an error
Ian Lynagh [Sat, 26 Apr 2008 01:16:34 +0000 (01:16 +0000)]
Refactor some code a bit, and improve an error
The "magic number mismatch: old/corrupt interface file?" error now tells
us what we got, and what we expected.

15 years agoWhitespace changes only
Ian Lynagh [Sat, 26 Apr 2008 01:09:08 +0000 (01:09 +0000)]
Whitespace changes only

15 years agoFix the ticky ticky build
Ian Lynagh [Fri, 25 Apr 2008 14:04:34 +0000 (14:04 +0000)]
Fix the ticky ticky build
Include TickyCounters.h in Stg.h if we are doing Ticky Ticky.

15 years agoFix a couple of format strings in Ticky.c
Ian Lynagh [Fri, 25 Apr 2008 13:47:25 +0000 (13:47 +0000)]
Fix a couple of format strings in Ticky.c

15 years agoComment out some unused code in Ticky.c
Ian Lynagh [Fri, 25 Apr 2008 13:43:07 +0000 (13:43 +0000)]
Comment out some unused code in Ticky.c

16 years agoSpelling fixes in glasgow_exts.xml
Samuel Bronson [Tue, 15 Apr 2008 23:26:26 +0000 (23:26 +0000)]
Spelling fixes in glasgow_exts.xml
Also adds a <para></para> element and replaces an occurance of SGML
with XML...

15 years agoVectorisation of: enumFromTo, div, intSqrt
keller@cse.unsw.edu.au [Fri, 25 Apr 2008 07:24:21 +0000 (07:24 +0000)]
Vectorisation of: enumFromTo, div, intSqrt

15 years agoFix int64ToInteger 0xFFFFFFFF00000000 on 32bit machine; trac #2223
Ian Lynagh [Thu, 24 Apr 2008 13:15:26 +0000 (13:15 +0000)]
Fix int64ToInteger 0xFFFFFFFF00000000 on 32bit machine; trac #2223
Patch from Mike Gunter.

15 years agoAdd 123## literals for Word#
Ian Lynagh [Wed, 23 Apr 2008 16:11:15 +0000 (16:11 +0000)]
Add 123## literals for Word#

15 years agoWhitespace changes only
Ian Lynagh [Wed, 23 Apr 2008 14:35:53 +0000 (14:35 +0000)]
Whitespace changes only

15 years agoAdded support for vectorising emptyP, squareRoot, combineP
keller@cse.unsw.edu.au [Thu, 24 Apr 2008 02:00:25 +0000 (02:00 +0000)]
Added support for vectorising emptyP, squareRoot, combineP