kglynn [Tue, 29 Jun 1999 06:26:38 +0000 (06:26 +0000)]
[project @ 1999-06-29 06:26:37 by kglynn]
CPR Analysis Mark 2. Slightly more elegant, and (I believe) now
copes correctly with references to CAFS and non-top level function
bindings.
kglynn [Tue, 29 Jun 1999 05:13:30 +0000 (05:13 +0000)]
[project @ 1999-06-29 05:13:30 by kglynn]
(keving)
Add dump-cpranal to agree with the users_guide. dump-cpranalyse will
still work but is deprecated and could be removed by someone with
a bigger stick than me.
simonmar [Mon, 28 Jun 1999 16:42:24 +0000 (16:42 +0000)]
[project @ 1999-06-28 16:42:22 by simonmar]
Back out changes for "specialid"s. It didn't work this way: there was
a conflict in the grammar.
simonpj [Mon, 28 Jun 1999 16:40:18 +0000 (16:40 +0000)]
[project @ 1999-06-28 16:40:18 by simonpj]
Add explanatory comments
simonpj [Mon, 28 Jun 1999 16:35:56 +0000 (16:35 +0000)]
[project @ 1999-06-28 16:35:56 by simonpj]
Fix SetLevels so that it does not clone top-level bindings, but it
*does* clone bindings that are destined for the top level.
The global invariant is that the top level bindings are always
unique, and never cloned.
simonpj [Mon, 28 Jun 1999 16:33:23 +0000 (16:33 +0000)]
[project @ 1999-06-28 16:33:17 by simonpj]
Some renamer fixes
* Correct the defn of Rename.isOrphanRule (caused a Sergey bug)
* Tidy up the Rename.implicitFVs stuff
simonpj [Mon, 28 Jun 1999 16:32:00 +0000 (16:32 +0000)]
[project @ 1999-06-28 16:32:00 by simonpj]
Propagate changes for tcSimplifyToDicts
simonpj [Mon, 28 Jun 1999 16:31:09 +0000 (16:31 +0000)]
[project @ 1999-06-28 16:31:09 by simonpj]
Reduce renamer warnings
simonpj [Mon, 28 Jun 1999 16:29:49 +0000 (16:29 +0000)]
[project @ 1999-06-28 16:29:45 by simonpj]
* Add Type.repType
* Re-express splitRepTyConApp_maybe using repType
* Use the new repType in Core2Stg
The bug was that we ended up with a binding like
let x = /\a -> 3# +# y
in ...
and this should turn into an STG case, but the big lambda
fooled the core-to-STG pass
simonpj [Mon, 28 Jun 1999 16:27:30 +0000 (16:27 +0000)]
[project @ 1999-06-28 16:27:27 by simonpj]
Improve common sub-expression stuff
- better hash function
- add Const.isBoxedDataCon, and use it in CSE
- don't CSE for nullary constructors
simonpj [Mon, 28 Jun 1999 16:23:28 +0000 (16:23 +0000)]
[project @ 1999-06-28 16:23:28 by simonpj]
Fix lost specialisations. There were two problems
{-# SPECIALISE f :: Int -> Rational #-}
fromIntegral = fromInteger . toInteger
This generates
fromIntegral_spec = fromIntegral d
for some suitable dictionary d. But since fromIntegral is small,
it got inlined into fromIntegral_spec, thus losing the specialised
call (fromIntegral d) that was the whole raison d'etre of fromIntegral_spec.
Haskish solution: add an inlne pragma for the _spec things:
fromIntegral_spec = _inline_me (fromIntegral d)
Now we won't inline inside. But this showed up a related problem. The
typechecker tries to common up overloaded things, so it actually generates
m = fromIntegral d
fromIntegral_spec = _inline_me m
which is pretty stupid. Using tcSimplifyToDicts (instead of tcSimplify)
in TcBinds.tcSpecSigs fixes this.
simonmar [Mon, 28 Jun 1999 15:43:12 +0000 (15:43 +0000)]
[project @ 1999-06-28 15:43:12 by simonmar]
a couple more weird cases for lexing of qualified names.
simonmar [Mon, 28 Jun 1999 15:42:35 +0000 (15:42 +0000)]
[project @ 1999-06-28 15:42:33 by simonmar]
Fix some pretty subtle bugs in the lexing of qualified names.
simonmar [Mon, 28 Jun 1999 15:16:59 +0000 (15:16 +0000)]
[project @ 1999-06-28 15:16:59 by simonmar]
writeHandle has been removed.
simonmar [Mon, 28 Jun 1999 12:15:57 +0000 (12:15 +0000)]
[project @ 1999-06-28 12:15:57 by simonmar]
Move -fwarn-unused-{binds,matches} back into -W (two votes for, one
against).
simonmar [Mon, 28 Jun 1999 10:41:06 +0000 (10:41 +0000)]
[project @ 1999-06-28 10:41:06 by simonmar]
nit-picking lexical tests for M.<reservedid> and M.<specialid>
simonmar [Mon, 28 Jun 1999 10:04:18 +0000 (10:04 +0000)]
[project @ 1999-06-28 10:04:18 by simonmar]
Jump to the join point when returning a new constructor to a bind
default. Fixes: recent panic in mkStaticAlgReturnCode.
simonmar [Mon, 28 Jun 1999 10:01:04 +0000 (10:01 +0000)]
[project @ 1999-06-28 10:01:04 by simonmar]
Don't treat GHC extension keywords as such when recognising qualified
varids. This is a quick fix for the bug that M.label isn't recognised
as a qvarid with -fglasgow-exts on.
simonmar [Mon, 28 Jun 1999 08:27:25 +0000 (08:27 +0000)]
[project @ 1999-06-28 08:27:25 by simonmar]
Don't attempt to close stdin or stdout. From Kevin Atkinson
<kevinatk@home.com>.
sof [Fri, 25 Jun 1999 16:52:48 +0000 (16:52 +0000)]
[project @ 1999-06-25 16:52:48 by sof]
Document the SocketPrim.PortNumber type
simonmar [Fri, 25 Jun 1999 14:38:54 +0000 (14:38 +0000)]
[project @ 1999-06-25 14:38:54 by simonmar]
'do' expressions must have a non-empty list of statements.
simonmar [Fri, 25 Jun 1999 14:10:04 +0000 (14:10 +0000)]
[project @ 1999-06-25 14:10:03 by simonmar]
Fix some race holes in the handle locking code, and clean it up a little.
keithw [Fri, 25 Jun 1999 12:26:27 +0000 (12:26 +0000)]
[project @ 1999-06-25 12:26:27 by keithw]
Fix `defined but not used' warning to omit *all* identifiers beginning
with underscore, not just top-level ones, following Haskell report.
keithw [Fri, 25 Jun 1999 11:45:30 +0000 (11:45 +0000)]
[project @ 1999-06-25 11:45:24 by keithw]
Rescue UsageSP analysis from bit-rot.
panne [Fri, 25 Jun 1999 10:29:30 +0000 (10:29 +0000)]
[project @ 1999-06-25 10:29:30 by panne]
Resurrect -funfold-casms-in-hi-file and probably make Sigbjorn go wild
:-)
panne [Fri, 25 Jun 1999 10:23:08 +0000 (10:23 +0000)]
[project @ 1999-06-25 10:23:08 by panne]
Readline needs Posix stuff
panne [Fri, 25 Jun 1999 10:09:19 +0000 (10:09 +0000)]
[project @ 1999-06-25 10:09:19 by panne]
Make -optc-DDEBUG work again
panne [Fri, 25 Jun 1999 09:54:44 +0000 (09:54 +0000)]
[project @ 1999-06-25 09:54:28 by panne]
Just a small test for my CVS setup: Changed two references to ghc-4.03
to ghc-4.04
simonmar [Fri, 25 Jun 1999 09:18:49 +0000 (09:18 +0000)]
[project @ 1999-06-25 09:18:49 by simonmar]
+RTS -s gives summary statistics only.
simonmar [Fri, 25 Jun 1999 09:17:58 +0000 (09:17 +0000)]
[project @ 1999-06-25 09:17:58 by simonmar]
Some fixes to the TICK_ macros in raiseAsync.
simonmar [Fri, 25 Jun 1999 09:16:46 +0000 (09:16 +0000)]
[project @ 1999-06-25 09:16:46 by simonmar]
Set context_switch to 1 after scheduling a signal handler. This will
ensure the running thread is interrupted as soon as possible.
simonmar [Fri, 25 Jun 1999 09:14:54 +0000 (09:14 +0000)]
[project @ 1999-06-25 09:14:54 by simonmar]
Comment about TABLES_NEXT_TO_CODE.
simonmar [Fri, 25 Jun 1999 09:13:38 +0000 (09:13 +0000)]
[project @ 1999-06-25 09:13:37 by simonmar]
New define: TABLES_NEXT_TO_CODE says whether info tables are assumed
to reside just before the code for a function. We used to use
USE_MINIINTERPRETER for this function, but it makes sense in certain
cases to separate the use of tail-calls from tables-next-to-code.
StgMacros: add a couple of missing macros to support update in place.
simonmar [Thu, 24 Jun 1999 14:10:18 +0000 (14:10 +0000)]
[project @ 1999-06-24 14:10:18 by simonmar]
Install the LICENSE file.
simonmar [Thu, 24 Jun 1999 14:09:16 +0000 (14:09 +0000)]
[project @ 1999-06-24 14:09:16 by simonmar]
It's about time
simonmar [Thu, 24 Jun 1999 13:10:32 +0000 (13:10 +0000)]
[project @ 1999-06-24 13:10:31 by simonmar]
Reinstate per-function entry counts in ticky-ticky profiles.
simonmar [Thu, 24 Jun 1999 13:05:53 +0000 (13:05 +0000)]
[project @ 1999-06-24 13:05:53 by simonmar]
Increase stack for ParseIface a bit.
simonmar [Thu, 24 Jun 1999 13:04:23 +0000 (13:04 +0000)]
[project @ 1999-06-24 13:04:13 by simonmar]
- Implement update-in-place in certain very specialised circumstances
- Clean up abstract C a bit
- Speed up pretty-printing absC a bit.
simonpj [Thu, 24 Jun 1999 12:51:36 +0000 (12:51 +0000)]
[project @ 1999-06-24 12:51:36 by simonpj]
Switch on -fwarn-unused-binds and -fwarn-unused-matches by default; Sergeys suggestion
simonmar [Thu, 24 Jun 1999 12:49:26 +0000 (12:49 +0000)]
[project @ 1999-06-24 12:49:26 by simonmar]
Fix non-compiling code
simonmar [Thu, 24 Jun 1999 12:27:58 +0000 (12:27 +0000)]
[project @ 1999-06-24 12:27:58 by simonmar]
Some fixes to this (still non-working) pass.
simonmar [Thu, 24 Jun 1999 12:27:11 +0000 (12:27 +0000)]
[project @ 1999-06-24 12:27:11 by simonmar]
The decision to not make a static closure should only be taken for
top-level bindings.
simonmar [Thu, 24 Jun 1999 12:25:58 +0000 (12:25 +0000)]
[project @ 1999-06-24 12:25:58 by simonmar]
Minor cleanup
simonpj [Thu, 24 Jun 1999 11:28:32 +0000 (11:28 +0000)]
[project @ 1999-06-24 11:28:26 by simonpj]
Nuke -fcase-elim; sometimes things fail if you dont have it (Sergeys message)
simonmar [Wed, 23 Jun 1999 15:30:59 +0000 (15:30 +0000)]
[project @ 1999-06-23 15:30:59 by simonmar]
print minInt as (mintInt+1)-1, to avoid gcc's conversion to unsigned.
simonmar [Wed, 23 Jun 1999 14:39:07 +0000 (14:39 +0000)]
[project @ 1999-06-23 14:39:07 by simonmar]
Bump version to 4.04 (to avoid confusion with already released 4.03
for Win32).
simonmar [Wed, 23 Jun 1999 10:44:59 +0000 (10:44 +0000)]
[project @ 1999-06-23 10:44:59 by simonmar]
Don't inline strLength, it causes gcc to run out of registers.
simonmar [Wed, 23 Jun 1999 10:42:07 +0000 (10:42 +0000)]
[project @ 1999-06-23 10:42:07 by simonmar]
Test for pattern type signatures.
simonmar [Wed, 23 Jun 1999 10:38:15 +0000 (10:38 +0000)]
[project @ 1999-06-23 10:38:13 by simonmar]
Make scoped type variables work.
simonmar [Wed, 23 Jun 1999 10:33:04 +0000 (10:33 +0000)]
[project @ 1999-06-23 10:33:03 by simonmar]
rename -ddump-rdr to -ddump-parsed, and make it work.
simonpj [Tue, 22 Jun 1999 16:32:42 +0000 (16:32 +0000)]
[project @ 1999-06-22 16:32:42 by simonpj]
Add HsBinds.isPragSig
simonpj [Tue, 22 Jun 1999 16:31:57 +0000 (16:31 +0000)]
[project @ 1999-06-22 16:31:57 by simonpj]
Do CSE right after a simplification pass; needs no-shadowing invariant
simonpj [Tue, 22 Jun 1999 16:31:20 +0000 (16:31 +0000)]
[project @ 1999-06-22 16:31:19 by simonpj]
Pragmas for default decls
simonpj [Tue, 22 Jun 1999 16:30:53 +0000 (16:30 +0000)]
[project @ 1999-06-22 16:30:53 by simonpj]
Add common sub-expression
simonpj [Tue, 22 Jun 1999 16:30:07 +0000 (16:30 +0000)]
[project @ 1999-06-22 16:30:06 by simonpj]
Remove exponential simplifier run-time bug
simonpj [Tue, 22 Jun 1999 08:00:45 +0000 (08:00 +0000)]
[project @ 1999-06-22 07:59:54 by simonpj]
Many small tuning changes
simonmar [Mon, 21 Jun 1999 13:12:43 +0000 (13:12 +0000)]
[project @ 1999-06-21 13:12:43 by simonmar]
Up heap size for Parser.hs a bit more.
simonmar [Fri, 18 Jun 1999 13:09:36 +0000 (13:09 +0000)]
[project @ 1999-06-18 13:09:36 by simonmar]
Up the heap/stack for Parser.hs a bit.
simonmar [Fri, 18 Jun 1999 13:06:33 +0000 (13:06 +0000)]
[project @ 1999-06-18 13:06:33 by simonmar]
Literate tidyups from Wolfram.
simonmar [Fri, 18 Jun 1999 13:02:13 +0000 (13:02 +0000)]
[project @ 1999-06-18 13:02:13 by simonmar]
Typo from Wolfram.
simonmar [Thu, 17 Jun 1999 09:51:31 +0000 (09:51 +0000)]
[project @ 1999-06-17 09:51:16 by simonmar]
Comment cleanup and literisation(?) by Wolfram Kahl <kahl@DI.Unipi.IT>.
simonmar [Wed, 16 Jun 1999 09:59:16 +0000 (09:59 +0000)]
[project @ 1999-06-16 09:59:16 by simonmar]
Urk, more fixes. This thing *really* needs to be taken out and shot.
simonmar [Wed, 16 Jun 1999 09:48:00 +0000 (09:48 +0000)]
[project @ 1999-06-16 09:48:00 by simonmar]
Fix for default unregisterised builds.
simonmar [Wed, 16 Jun 1999 09:33:14 +0000 (09:33 +0000)]
[project @ 1999-06-16 09:33:10 by simonmar]
Make use of the $(GhcWithRegisterised) build flag from config.mk. You
can now get an unregisterised build by *either*
- setting GhcWithRegisterised to NO in build.mk, or
- adding 'u' to GhcLibWays.
The former will make all compilations unregisterised, whereas the
latter will require a '-unreg' flag to be passed to the compiler to
get the unregisterised build.
simonmar [Tue, 15 Jun 1999 10:23:38 +0000 (10:23 +0000)]
[project @ 1999-06-15 10:23:38 by simonmar]
Test for Richard Reid's bug: syntax C{} for constructing C with all fields set
to bottom.
simonmar [Tue, 15 Jun 1999 10:20:50 +0000 (10:20 +0000)]
[project @ 1999-06-15 10:20:50 by simonmar]
Allow the syntax C{} for building an unlabelled constructor C and
setting all of C's fields to bottom. The Haskell report is a bit
vague on whether this is legal, but it turns out to be quite easy to
support.
simonmar [Mon, 14 Jun 1999 12:38:37 +0000 (12:38 +0000)]
[project @ 1999-06-14 12:38:37 by simonmar]
build Posix before Misc.
simonmar [Mon, 14 Jun 1999 11:17:12 +0000 (11:17 +0000)]
[project @ 1999-06-14 11:17:12 by simonmar]
Don't rely on bad implementation of 'sum', now that we don't have one
:)
simonmar [Mon, 14 Jun 1999 11:11:29 +0000 (11:11 +0000)]
[project @ 1999-06-14 11:11:29 by simonmar]
Allow ``...'' as argument of __casm.
simonmar [Mon, 14 Jun 1999 10:36:51 +0000 (10:36 +0000)]
[project @ 1999-06-14 10:36:51 by simonmar]
Don't chop off the last character of the buffer.
simonmar [Mon, 14 Jun 1999 10:34:50 +0000 (10:34 +0000)]
[project @ 1999-06-14 10:34:50 by simonmar]
tcrun004 uses existentials, needs -fglasgow-exts.
simonmar [Mon, 14 Jun 1999 10:05:19 +0000 (10:05 +0000)]
[project @ 1999-06-14 10:05:19 by simonmar]
Forgot 'forall' and 'foreign' as possible variable names.
simonmar [Mon, 14 Jun 1999 09:49:26 +0000 (09:49 +0000)]
[project @ 1999-06-14 09:49:26 by simonmar]
Oops, forgot that the memory returned from realloc could have moved.
simonpj [Mon, 14 Jun 1999 09:31:16 +0000 (09:31 +0000)]
[project @ 1999-06-14 09:31:16 by simonpj]
Add tcfail082.stderr
simonpj [Mon, 14 Jun 1999 09:29:07 +0000 (09:29 +0000)]
[project @ 1999-06-14 09:29:01 by simonpj]
Accept some test changes; add tcfail082, read021
sof [Mon, 14 Jun 1999 08:31:41 +0000 (08:31 +0000)]
[project @ 1999-06-14 08:31:41 by sof]
prescript wibble
keithw [Sat, 12 Jun 1999 16:17:28 +0000 (16:17 +0000)]
[project @ 1999-06-12 16:17:23 by keithw]
K&R -> ANSI token pasting (ie, x##y for x/**/y)
simonmar [Fri, 11 Jun 1999 16:10:19 +0000 (16:10 +0000)]
[project @ 1999-06-11 16:10:18 by simonmar]
- add a test for non-parsing of strict newtype constructor fields
- other small fixes
simonpj [Fri, 11 Jun 1999 11:26:20 +0000 (11:26 +0000)]
[project @ 1999-06-11 11:26:20 by simonpj]
Missing case in collectTypedPatBinders; Andreas Marth bug report
simonmar [Wed, 9 Jun 1999 16:59:31 +0000 (16:59 +0000)]
[project @ 1999-06-09 16:59:31 by simonmar]
Add a few SPECIALISE/INLINE pragmas.
simonmar [Wed, 9 Jun 1999 16:14:55 +0000 (16:14 +0000)]
[project @ 1999-06-09 16:14:55 by simonmar]
- Recognise #-} as the end-of-pragma symbol even when -fglsagow-exts
is off. Certain pragmas are Haskell (like {-# OPTIMIZE #-} :-)
and some aren't, so we're not really Haskell compliant here.
- Fix case-insensitive pragma matching.
simonmar [Wed, 9 Jun 1999 14:28:39 +0000 (14:28 +0000)]
[project @ 1999-06-09 14:28:37 by simonmar]
Move some code around to reduce the linkage between CgMonad and CgBindery,
and make the .hi-boot-5 file compatible with both 4.02 and 4.03.
simonmar [Wed, 9 Jun 1999 14:27:38 +0000 (14:27 +0000)]
[project @ 1999-06-09 14:27:38 by simonmar]
Remove debugging trace that sneaked in.
simonmar [Wed, 9 Jun 1999 11:23:20 +0000 (11:23 +0000)]
[project @ 1999-06-09 11:23:20 by simonmar]
Fix qvarid bug.
simonmar [Wed, 9 Jun 1999 10:42:14 +0000 (10:42 +0000)]
[project @ 1999-06-09 10:42:14 by simonmar]
Use ClosureInfo.hi-boot instead of ClosureInfo.hi (which might not be
built yet).
simonpj [Wed, 9 Jun 1999 09:36:25 +0000 (09:36 +0000)]
[project @ 1999-06-09 09:35:54 by simonpj]
Lots of small fixes to ghc/tests
simonpj [Tue, 8 Jun 1999 16:47:07 +0000 (16:47 +0000)]
[project @ 1999-06-08 16:46:44 by simonpj]
Small fixes, including a significant full-laziness bug in OccurAnal
simonmar [Tue, 8 Jun 1999 16:06:04 +0000 (16:06 +0000)]
[project @ 1999-06-08 16:06:04 by simonmar]
Update the comment for buildLivenessMask to match reality.
simonmar [Tue, 8 Jun 1999 15:56:48 +0000 (15:56 +0000)]
[project @ 1999-06-08 15:56:44 by simonmar]
Allow reserving of stack slots for non-pointer data (eg. cost
centres). This means the previous hacks to keep the stack bitmaps
correct in the presence of cost centres are now unnecessary, and
case-of-case expressions will be compiled properly with profiling on.
simonmar [Tue, 8 Jun 1999 10:28:58 +0000 (10:28 +0000)]
[project @ 1999-06-08 10:28:58 by simonmar]
Pass -unreg for unregisterized builds.
simonmar [Tue, 8 Jun 1999 10:26:39 +0000 (10:26 +0000)]
[project @ 1999-06-08 10:26:39 by simonmar]
Fix ifdef INTERPRETER code fragment.
simonmar [Tue, 8 Jun 1999 09:06:26 +0000 (09:06 +0000)]
[project @ 1999-06-08 09:06:26 by simonmar]
Fix gratuitous duplication of libraries in the linker command line.
simonmar [Tue, 8 Jun 1999 08:43:54 +0000 (08:43 +0000)]
[project @ 1999-06-08 08:43:54 by simonmar]
- ignore case in pragma names
- add "NOTINLINE" as a possible spelling of "NOINLINE" for the
grammatically challenged.
sewardj [Mon, 7 Jun 1999 17:22:54 +0000 (17:22 +0000)]
[project @ 1999-06-07 17:22:31 by sewardj]
Many changes needed to support loading of GHC compiled code. The main
changes are to parser.y and interface.c to load .hi files and create
appropriate symbol table entries. Also, interface.c has the
beginnings of and ELF loader/linker in it.
simonmar [Mon, 7 Jun 1999 16:53:09 +0000 (16:53 +0000)]
[project @ 1999-06-07 16:53:08 by simonmar]
Existential constructors NEVER WORKED! You were JUST IMAGINING IT!
simonmar [Mon, 7 Jun 1999 14:58:40 +0000 (14:58 +0000)]
[project @ 1999-06-07 14:58:40 by simonmar]
Existential contexts on datatype declarations.
simonmar [Mon, 7 Jun 1999 10:12:52 +0000 (10:12 +0000)]
[project @ 1999-06-07 10:12:52 by simonmar]
Use $CC -E instead of gcc.
simonmar [Fri, 4 Jun 1999 13:04:17 +0000 (13:04 +0000)]
[project @ 1999-06-04 13:04:17 by simonmar]
Make the new file-slurping code work with 3.02.
simonmar [Fri, 4 Jun 1999 11:41:35 +0000 (11:41 +0000)]
[project @ 1999-06-04 11:41:35 by simonmar]
Omit ugen.
simonmar [Thu, 3 Jun 1999 14:44:23 +0000 (14:44 +0000)]
[project @ 1999-06-03 14:44:23 by simonmar]
When not profiling, parse `_scc_ "string" e' as `(e)', not just `e'.
Rationale: scc expressions are defined as extending as far to the
right as possible, and if we simply remove the _scc_ part the parse
looks awfully strange to the renamer which tends to fall over.