ghc-hetmet.git
23 years ago[project @ 2000-12-12 14:42:43 by simonmar]
simonmar [Tue, 12 Dec 2000 14:42:43 +0000 (14:42 +0000)]
[project @ 2000-12-12 14:42:43 by simonmar]
wibble: get the exception handlers round the right way

23 years ago[project @ 2000-12-12 14:35:08 by simonmar]
simonmar [Tue, 12 Dec 2000 14:35:09 +0000 (14:35 +0000)]
[project @ 2000-12-12 14:35:08 by simonmar]
Clean up the error handling a bit; the exception type is moved to
Panic, and a new exception for panics has been added.

23 years ago[project @ 2000-12-12 13:57:58 by simonmar]
simonmar [Tue, 12 Dec 2000 13:57:58 +0000 (13:57 +0000)]
[project @ 2000-12-12 13:57:58 by simonmar]
turn off recompilation checking in here

23 years ago[project @ 2000-12-12 13:57:40 by simonmar]
simonmar [Tue, 12 Dec 2000 13:57:40 +0000 (13:57 +0000)]
[project @ 2000-12-12 13:57:40 by simonmar]
Allow for compiling to .hc only (substitute for now-defunct -noC option)

23 years ago[project @ 2000-12-12 13:27:18 by simonmar]
simonmar [Tue, 12 Dec 2000 13:27:18 +0000 (13:27 +0000)]
[project @ 2000-12-12 13:27:18 by simonmar]
Make the foreign export dynamic helper function "exported", so it
doesn't get thrown away.

23 years ago[project @ 2000-12-12 12:19:57 by simonmar]
simonmar [Tue, 12 Dec 2000 12:19:58 +0000 (12:19 +0000)]
[project @ 2000-12-12 12:19:57 by simonmar]
- Add primops for {read,write,index}{Int,Word}{8,16,32,64}OffAddr.
    This enables us to remove all the _casm_s from Int/Word.

  - Replace new{Char,Int,etc.}Array# with newByteArray# (save a few primops,
    at the cost of having to know the size of these types in PrelArr).

  - Implement MArray/IArray support for sized types.  finally.

  - Move the guts of the sized types into ghc/lib/std, we'll need
    them for doing more FFIish things in the Prelude.

23 years ago[project @ 2000-12-12 12:10:08 by simonmar]
simonmar [Tue, 12 Dec 2000 12:10:08 +0000 (12:10 +0000)]
[project @ 2000-12-12 12:10:08 by simonmar]
Treat an unhandled exception in the same way as a panic (i.e. the
`impossible' happened), to make it clear that these really are
compiler bugs.

23 years ago[project @ 2000-12-12 10:11:21 by sewardj]
sewardj [Tue, 12 Dec 2000 10:11:21 +0000 (10:11 +0000)]
[project @ 2000-12-12 10:11:21 by sewardj]
booting wibble

23 years ago[project @ 2000-12-12 10:02:57 by sewardj]
sewardj [Tue, 12 Dec 2000 10:02:57 +0000 (10:02 +0000)]
[project @ 2000-12-12 10:02:57 by sewardj]
make it compile with #define NO_READLINE

23 years ago[project @ 2000-12-11 18:41:01 by sewardj]
sewardj [Mon, 11 Dec 2000 18:41:01 +0000 (18:41 +0000)]
[project @ 2000-12-11 18:41:01 by sewardj]
Changes to how literals are pushed on the stack

23 years ago[project @ 2000-12-11 18:40:28 by sewardj]
sewardj [Mon, 11 Dec 2000 18:40:28 +0000 (18:40 +0000)]
[project @ 2000-12-11 18:40:28 by sewardj]
import wibble

23 years ago[project @ 2000-12-11 17:59:01 by sewardj]
sewardj [Mon, 11 Dec 2000 17:59:01 +0000 (17:59 +0000)]
[project @ 2000-12-11 17:59:01 by sewardj]
stagger ever onwards

23 years ago[project @ 2000-12-11 17:51:57 by simonmar]
simonmar [Mon, 11 Dec 2000 17:51:57 +0000 (17:51 +0000)]
[project @ 2000-12-11 17:51:57 by simonmar]
ANSIfy

23 years ago[project @ 2000-12-11 17:51:34 by simonmar]
simonmar [Mon, 11 Dec 2000 17:51:34 +0000 (17:51 +0000)]
[project @ 2000-12-11 17:51:34 by simonmar]
gc unused imports

23 years ago[project @ 2000-12-11 17:01:32 by simonmar]
simonmar [Mon, 11 Dec 2000 17:01:32 +0000 (17:01 +0000)]
[project @ 2000-12-11 17:01:32 by simonmar]
add foreignPtr names

23 years ago[project @ 2000-12-11 16:56:47 by simonmar]
simonmar [Mon, 11 Dec 2000 16:57:18 +0000 (16:57 +0000)]
[project @ 2000-12-11 16:56:47 by simonmar]
add ForeignPtr

23 years ago[project @ 2000-12-11 16:42:26 by sewardj]
sewardj [Mon, 11 Dec 2000 16:42:26 +0000 (16:42 +0000)]
[project @ 2000-12-11 16:42:26 by sewardj]
head -> head bootability wibbles (rm disallowed OPTIONS pragmas)

23 years ago[project @ 2000-12-11 16:15:03 by simonmar]
simonmar [Mon, 11 Dec 2000 16:15:03 +0000 (16:15 +0000)]
[project @ 2000-12-11 16:15:03 by simonmar]
Put back accidentally butchered Config.hs

23 years ago[project @ 2000-12-11 15:26:00 by sewardj]
sewardj [Mon, 11 Dec 2000 15:26:00 +0000 (15:26 +0000)]
[project @ 2000-12-11 15:26:00 by sewardj]
More driver straightening-out.

23 years ago[project @ 2000-12-11 14:42:21 by sewardj]
sewardj [Mon, 11 Dec 2000 14:42:21 +0000 (14:42 +0000)]
[project @ 2000-12-11 14:42:21 by sewardj]
Remove circular dependencies created by kludgedSystem.

23 years ago[project @ 2000-12-11 12:59:25 by simonmar]
simonmar [Mon, 11 Dec 2000 12:59:25 +0000 (12:59 +0000)]
[project @ 2000-12-11 12:59:25 by simonmar]
bco wibbles.

23 years ago[project @ 2000-12-11 12:56:13 by simonmar]
simonmar [Mon, 11 Dec 2000 12:56:14 +0000 (12:56 +0000)]
[project @ 2000-12-11 12:56:13 by simonmar]
New BCO primops.

23 years ago[project @ 2000-12-11 12:55:43 by sewardj]
sewardj [Mon, 11 Dec 2000 12:55:43 +0000 (12:55 +0000)]
[project @ 2000-12-11 12:55:43 by sewardj]
Remove the old bytecode interpreter and add the new one.

23 years ago[project @ 2000-12-11 12:53:44 by sewardj]
sewardj [Mon, 11 Dec 2000 12:53:44 +0000 (12:53 +0000)]
[project @ 2000-12-11 12:53:44 by sewardj]
wibble

23 years ago[project @ 2000-12-11 12:50:52 by sewardj]
sewardj [Mon, 11 Dec 2000 12:50:53 +0000 (12:50 +0000)]
[project @ 2000-12-11 12:50:52 by sewardj]
Are now redundant since GHCi does bytecode assembly in Haskell-land
(fptools/ghc/compiler/ghci/ByteCodeGen.lhs).

23 years ago[project @ 2000-12-11 12:40:24 by simonmar]
simonmar [Mon, 11 Dec 2000 12:40:24 +0000 (12:40 +0000)]
[project @ 2000-12-11 12:40:24 by simonmar]
add missing #includes.

23 years ago[project @ 2000-12-11 12:36:59 by simonmar]
simonmar [Mon, 11 Dec 2000 12:37:00 +0000 (12:37 +0000)]
[project @ 2000-12-11 12:36:59 by simonmar]
- update representation of BCOs
- add setHeapSize for use from within GHC

23 years ago[project @ 2000-12-11 12:30:58 by rrt]
rrt [Mon, 11 Dec 2000 12:30:58 +0000 (12:30 +0000)]
[project @ 2000-12-11 12:30:58 by rrt]
Use kludgedSystem instead of system to work sanely (AFATIP) on Windows.

23 years ago[project @ 2000-12-11 12:15:15 by simonmar]
simonmar [Mon, 11 Dec 2000 12:15:15 +0000 (12:15 +0000)]
[project @ 2000-12-11 12:15:15 by simonmar]
allow all the dynamic -f* flags to be reversed with -fno-*

23 years ago[project @ 2000-12-11 11:41:08 by simonmar]
simonmar [Mon, 11 Dec 2000 11:41:08 +0000 (11:41 +0000)]
[project @ 2000-12-11 11:41:08 by simonmar]
* -fno-strictness et al. were in the wrong set of flags.
* remove static version of -fno-implicit-prelude

23 years ago[project @ 2000-12-11 11:40:32 by simonmar]
simonmar [Mon, 11 Dec 2000 11:40:32 +0000 (11:40 +0000)]
[project @ 2000-12-11 11:40:32 by simonmar]
-fno-implicit-prelude isn't a static flag any more

23 years ago[project @ 2000-12-11 10:18:51 by simonmar]
simonmar [Mon, 11 Dec 2000 10:18:51 +0000 (10:18 +0000)]
[project @ 2000-12-11 10:18:51 by simonmar]
remove old driver.

23 years ago[project @ 2000-12-08 21:28:15 by qrczak]
qrczak [Fri, 8 Dec 2000 21:28:15 +0000 (21:28 +0000)]
[project @ 2000-12-08 21:28:15 by qrczak]
Let newtypes in stub files generate correct C type names.
It worked in ghc-4.09 but was not merged into 4.11?

23 years ago[project @ 2000-12-08 15:46:29 by sewardj]
sewardj [Fri, 8 Dec 2000 15:46:29 +0000 (15:46 +0000)]
[project @ 2000-12-08 15:46:29 by sewardj]
Unboxed returns, + a little peephole optimisation.

23 years ago[project @ 2000-12-08 15:45:55 by sewardj]
sewardj [Fri, 8 Dec 2000 15:45:55 +0000 (15:45 +0000)]
[project @ 2000-12-08 15:45:55 by sewardj]
FILE RENAME: from fptools/ghc/rts/Bytecodes.h
               to fptools/ghc/includes/Bytecodes.h

23 years ago[project @ 2000-12-08 14:34:52 by sewardj]
sewardj [Fri, 8 Dec 2000 14:34:52 +0000 (14:34 +0000)]
[project @ 2000-12-08 14:34:52 by sewardj]
Wibble

23 years ago[project @ 2000-12-08 13:56:18 by sewardj]
sewardj [Fri, 8 Dec 2000 13:56:18 +0000 (13:56 +0000)]
[project @ 2000-12-08 13:56:18 by sewardj]
Correctly unpack constructors onto the stack.

23 years ago[project @ 2000-12-08 13:44:28 by simonpj]
simonpj [Fri, 8 Dec 2000 13:44:28 +0000 (13:44 +0000)]
[project @ 2000-12-08 13:44:28 by simonpj]
LiberateCase fiddling

23 years ago[project @ 2000-12-08 13:20:52 by simonpj]
simonpj [Fri, 8 Dec 2000 13:20:53 +0000 (13:20 +0000)]
[project @ 2000-12-08 13:20:52 by simonpj]
Bogons in previous commit

23 years ago[project @ 2000-12-08 12:56:00 by simonpj]
simonpj [Fri, 8 Dec 2000 12:56:01 +0000 (12:56 +0000)]
[project @ 2000-12-08 12:56:00 by simonpj]
Get CAF info right

23 years ago[project @ 2000-12-08 12:32:15 by simonpj]
simonpj [Fri, 8 Dec 2000 12:32:16 +0000 (12:32 +0000)]
[project @ 2000-12-08 12:32:15 by simonpj]
Some renaming in HscTypes

23 years ago[project @ 2000-12-08 12:18:19 by rrt]
rrt [Fri, 8 Dec 2000 12:18:19 +0000 (12:18 +0000)]
[project @ 2000-12-08 12:18:19 by rrt]
Add #include of ghc/includes/config.h so tests of TARGET_OS_mingw32 work.

23 years ago[project @ 2000-12-08 12:13:13 by simonpj]
simonpj [Fri, 8 Dec 2000 12:13:13 +0000 (12:13 +0000)]
[project @ 2000-12-08 12:13:13 by simonpj]
Correct CPR information.  How it ever worked I don't know.

* The CPR info on a newtype constructor should be NoCPR, whereas
  before it was ReturnsCPR!

* Minor: don't change CPR info on implicit Ids

23 years ago[project @ 2000-12-08 12:02:25 by simonpj]
simonpj [Fri, 8 Dec 2000 12:02:28 +0000 (12:02 +0000)]
[project @ 2000-12-08 12:02:25 by simonpj]
Slight repackaging in HscMain

23 years ago[project @ 2000-12-08 12:01:44 by simonpj]
simonpj [Fri, 8 Dec 2000 12:02:01 +0000 (12:02 +0000)]
[project @ 2000-12-08 12:01:44 by simonpj]
Rename omitIfaceSigForId to isImplicitId

23 years ago[project @ 2000-12-08 11:47:00 by rrt]
rrt [Fri, 8 Dec 2000 11:47:00 +0000 (11:47 +0000)]
[project @ 2000-12-08 11:47:00 by rrt]
config.h depends not just on fptools/mk/config.h but on
fptools/mk/config.mk, for architecture information.

23 years ago[project @ 2000-12-08 10:26:41 by simonmar]
simonmar [Fri, 8 Dec 2000 10:26:41 +0000 (10:26 +0000)]
[project @ 2000-12-08 10:26:41 by simonmar]
add -fno-{cse,cpr,strictness} flags.

23 years ago[project @ 2000-12-08 10:09:49 by simonmar]
simonmar [Fri, 8 Dec 2000 10:09:49 +0000 (10:09 +0000)]
[project @ 2000-12-08 10:09:49 by simonmar]
Don't need to set the CafInfo on non-top-level Ids, the default is
correct now.

23 years ago[project @ 2000-12-08 09:54:47 by simonmar]
simonmar [Fri, 8 Dec 2000 09:54:47 +0000 (09:54 +0000)]
[project @ 2000-12-08 09:54:47 by simonmar]
change the default CafInfo to NoCafRefs, to avoid PrimOps,
constructors and other random Ids from declaring that they refer to
CAFs.

23 years ago[project @ 2000-12-08 09:46:16 by simonpj]
simonpj [Fri, 8 Dec 2000 09:46:16 +0000 (09:46 +0000)]
[project @ 2000-12-08 09:46:16 by simonpj]
Add documentation on -fno-monomorphism-restriction

23 years ago[project @ 2000-12-08 09:45:41 by simonpj]
simonpj [Fri, 8 Dec 2000 09:45:42 +0000 (09:45 +0000)]
[project @ 2000-12-08 09:45:41 by simonpj]
Add -fno-monomorphism-restriction

23 years ago[project @ 2000-12-08 09:45:19 by simonpj]
simonpj [Fri, 8 Dec 2000 09:45:19 +0000 (09:45 +0000)]
[project @ 2000-12-08 09:45:19 by simonpj]
Comment

23 years ago[project @ 2000-12-08 09:44:51 by simonpj]
simonpj [Fri, 8 Dec 2000 09:44:51 +0000 (09:44 +0000)]
[project @ 2000-12-08 09:44:51 by simonpj]
Complete Simons arity/caf changes

23 years ago[project @ 2000-12-08 09:39:05 by simonmar]
simonmar [Fri, 8 Dec 2000 09:39:05 +0000 (09:39 +0000)]
[project @ 2000-12-08 09:39:05 by simonmar]
use $(GHC) for $(MKDEPENDHS), since $(GHC_INPLACE) isn't built yet.
There's a minor problem with this, in that if you've added any options
to GhcLibHcOpts that are specific to the new compiler, 'make boot'
won't work.  bleugh.

23 years ago[project @ 2000-12-07 17:26:30 by simonmar]
simonmar [Thu, 7 Dec 2000 17:26:31 +0000 (17:26 +0000)]
[project @ 2000-12-07 17:26:30 by simonmar]
Figure out CafInfo during CoreTidy.  This is the final piece of the
puzzle in getting the final IdInfo from the Core2Core phases, rather
than waiting for the STG code.

This simplifies the SRT phase, in that it no longer has to have a
complicated circular algorithm to figure out the CafInfo at the same
time as the SRT layout.

23 years ago[project @ 2000-12-07 16:39:40 by simonmar]
simonmar [Thu, 7 Dec 2000 16:39:40 +0000 (16:39 +0000)]
[project @ 2000-12-07 16:39:40 by simonmar]
touch the object file in the HscNoRecomp case (duh)

23 years ago[project @ 2000-12-07 14:50:29 by sewardj]
sewardj [Thu, 7 Dec 2000 14:50:29 +0000 (14:50 +0000)]
[project @ 2000-12-07 14:50:29 by sewardj]
Fix many obvious bogons and partially emerge from Wrong Stack Offset Hell.

23 years ago[project @ 2000-12-07 11:00:43 by sewardj]
sewardj [Thu, 7 Dec 2000 11:00:43 +0000 (11:00 +0000)]
[project @ 2000-12-07 11:00:43 by sewardj]
Minor enhancements to printing machinery to aid debugging the BC generator.

23 years ago[project @ 2000-12-07 10:36:03 by simonpj]
simonpj [Thu, 7 Dec 2000 10:36:03 +0000 (10:36 +0000)]
[project @ 2000-12-07 10:36:03 by simonpj]
Dont drop inline-mes quite so easily.  This was leading to substWorker warnings.

23 years ago[project @ 2000-12-07 10:06:20 by simonpj]
simonpj [Thu, 7 Dec 2000 10:06:20 +0000 (10:06 +0000)]
[project @ 2000-12-07 10:06:20 by simonpj]
Dont warn about uses of deprecated things in its own module

23 years ago[project @ 2000-12-07 09:28:42 by simonpj]
simonpj [Thu, 7 Dec 2000 09:28:43 +0000 (09:28 +0000)]
[project @ 2000-12-07 09:28:42 by simonpj]
Do a better job of eta expansion.

This showed up in one of Manuel's programs, where he got code like:

    $wsimpleGen
     ww
     (\ i :: Int ->
  case i of wild1 { I# i# ->
  case w of wild2 { I# e# ->
  __coerce (ST RealWorld ())
  (\ s# :: (State# RealWorld) ->
       case writeIntArray# @ RealWorld mba# i# e# s#
       of s2#1 { __DEFAULT ->
       (# s2#1, () #)
       })
  }
  })
     s2#

The argument wasn't eta expanded, so it got right through to
the code generator as two separte lambdas.

Needless to say, I fiddled around with things in a vain attempt
to tidy them up.  Yell if anything seems to go wrong, or perfomance
drops on any programs.

23 years ago[project @ 2000-12-07 09:21:25 by simonpj]
simonpj [Thu, 7 Dec 2000 09:21:25 +0000 (09:21 +0000)]
[project @ 2000-12-07 09:21:25 by simonpj]
Improve iface diffs messages

23 years ago[project @ 2000-12-07 09:12:33 by simonpj]
simonpj [Thu, 7 Dec 2000 09:12:33 +0000 (09:12 +0000)]
[project @ 2000-12-07 09:12:33 by simonpj]
Errors and warnings were back to front

23 years ago[project @ 2000-12-07 09:12:01 by simonpj]
simonpj [Thu, 7 Dec 2000 09:12:01 +0000 (09:12 +0000)]
[project @ 2000-12-07 09:12:01 by simonpj]
Add foldOL

23 years ago[project @ 2000-12-07 09:10:32 by simonpj]
simonpj [Thu, 7 Dec 2000 09:10:32 +0000 (09:10 +0000)]
[project @ 2000-12-07 09:10:32 by simonpj]
Be very keen to inline simple primops.
  We give a discount of 1 for each arg so that (op# x y z) costs 1.
  I found occasions where we had
f x y z = case op# x y z of { s -> (# s, () #) }
  and f wasn't getting inlined

23 years ago[project @ 2000-12-07 08:29:05 by simonpj]
simonpj [Thu, 7 Dec 2000 08:29:05 +0000 (08:29 +0000)]
[project @ 2000-12-07 08:29:05 by simonpj]
Tidy up functional dependencies slightly

23 years ago[project @ 2000-12-07 08:28:46 by simonpj]
simonpj [Thu, 7 Dec 2000 08:28:46 +0000 (08:28 +0000)]
[project @ 2000-12-07 08:28:46 by simonpj]
wibble

23 years ago[project @ 2000-12-07 08:28:05 by simonpj]
simonpj [Thu, 7 Dec 2000 08:28:05 +0000 (08:28 +0000)]
[project @ 2000-12-07 08:28:05 by simonpj]
Workers get local names initially; nuke mkDerivedName

23 years ago[project @ 2000-12-07 08:26:47 by simonpj]
simonpj [Thu, 7 Dec 2000 08:26:48 +0000 (08:26 +0000)]
[project @ 2000-12-07 08:26:47 by simonpj]
Better handling of HsTupCon (tidy up + fix minor versioning bug)

23 years ago[project @ 2000-12-07 08:22:53 by simonpj]
simonpj [Thu, 7 Dec 2000 08:22:53 +0000 (08:22 +0000)]
[project @ 2000-12-07 08:22:53 by simonpj]
Tidy up the Persistent Renamer State structure a little

23 years ago[project @ 2000-12-07 08:20:46 by simonpj]
simonpj [Thu, 7 Dec 2000 08:20:46 +0000 (08:20 +0000)]
[project @ 2000-12-07 08:20:46 by simonpj]
Make it work even if mingw32_TARGET_OS is defined

23 years ago[project @ 2000-12-07 08:19:53 by simonpj]
simonpj [Thu, 7 Dec 2000 08:19:53 +0000 (08:19 +0000)]
[project @ 2000-12-07 08:19:53 by simonpj]
Fix the bogus -fwarn-unused-exports problem

23 years ago[project @ 2000-12-07 08:18:18 by simonpj]
simonpj [Thu, 7 Dec 2000 08:18:18 +0000 (08:18 +0000)]
[project @ 2000-12-07 08:18:18 by simonpj]
Tidy up envs a bit

23 years ago[project @ 2000-12-07 08:17:55 by simonpj]
simonpj [Thu, 7 Dec 2000 08:17:55 +0000 (08:17 +0000)]
[project @ 2000-12-07 08:17:55 by simonpj]
Better z-encoding for unboxed tuples

23 years ago[project @ 2000-12-06 17:27:17 by sewardj]
sewardj [Wed, 6 Dec 2000 17:27:17 +0000 (17:27 +0000)]
[project @ 2000-12-06 17:27:17 by sewardj]
#ifdef wibbles

23 years ago[project @ 2000-12-06 16:15:23 by sewardj]
sewardj [Wed, 6 Dec 2000 16:15:23 +0000 (16:15 +0000)]
[project @ 2000-12-06 16:15:23 by sewardj]
import wibble

23 years ago[project @ 2000-12-06 15:23:31 by sewardj]
sewardj [Wed, 6 Dec 2000 15:23:31 +0000 (15:23 +0000)]
[project @ 2000-12-06 15:23:31 by sewardj]
Tons of tedious crud which we will henceforth refer to politely as
"the bytecode assembler".

23 years ago[project @ 2000-12-06 15:20:24 by simonmar]
simonmar [Wed, 6 Dec 2000 15:20:24 +0000 (15:20 +0000)]
[project @ 2000-12-06 15:20:24 by simonmar]
Fix the hack that makes up a new Id for a dynamic ccall.  I tried
moving this to CoreSat, but it wasn't convenient to do it there: the
modification needs to happen at the occurrence of the ccall Id rather
than a binding.

23 years ago[project @ 2000-12-06 14:25:13 by simonmar]
simonmar [Wed, 6 Dec 2000 14:25:13 +0000 (14:25 +0000)]
[project @ 2000-12-06 14:25:13 by simonmar]
Reinstate the gruesome hack that makes seq work.

23 years ago[project @ 2000-12-06 13:19:49 by simonmar]
simonmar [Wed, 6 Dec 2000 13:19:49 +0000 (13:19 +0000)]
[project @ 2000-12-06 13:19:49 by simonmar]
Re-engineer the transition from Core to STG syntax.  Main changes in
  this commit:

    - a new pass, CoreSat, handles saturation of constructors and PrimOps,
      and puts the syntax into STG-like normal form (applications to atoms
      only, etc), modulo type applications and Notes.

    - CoreToStg is now done at the same time as StgVarInfo.  Most of the
      contents of StgVarInfo.lhs have been copied into CoreToStg.lhs and
      some simplifications made.

  less major changes:

    - globalisation of names for the purposes of object splitting is
      now done by the C code generator (which is the Right Place in
      principle, but it was a bit fiddly).

    - CoreTidy now does cloning of local binders and collection of arity
      info.  The IdInfo from CoreTidy is now *almost* the final IdInfo we
      put in the interface file, except for CafInfo.  I'm going to move
      the CafInfo collection into CoreTidy in due course too.

    - and some other minor tidyups while I was in cluster-bomb commit mode.

23 years ago[project @ 2000-12-06 13:03:28 by simonmar]
simonmar [Wed, 6 Dec 2000 13:03:30 +0000 (13:03 +0000)]
[project @ 2000-12-06 13:03:28 by simonmar]
Re-engineer the transition from Core to STG syntax.  Main changes in
this commit:

  - a new pass, CoreSat, handles saturation of constructors and PrimOps,
    and puts the syntax into STG-like normal form (applications to atoms
    only, etc), modulo type applications and Notes.

  - CoreToStg is now done at the same time as StgVarInfo.  Most of the
    contents of StgVarInfo.lhs have been copied into CoreToStg.lhs and
    some simplifications made.

less major changes:

  - globalisation of names for the purposes of object splitting is
    now done by the C code generator (which is the Right Place in
    principle, but it was a bit fiddly).

  - CoreTidy now does cloning of local binders and collection of arity
    info.  The IdInfo from CoreTidy is now *almost* the final IdInfo we
    put in the interface file, except for CafInfo.  I'm going to move
    the CafInfo collection into CoreTidy in due course too.

  - and some other minor tidyups while I was in cluster-bomb commit mode.

23 years ago[project @ 2000-12-06 11:20:14 by sewardj]
sewardj [Wed, 6 Dec 2000 11:20:14 +0000 (11:20 +0000)]
[project @ 2000-12-06 11:20:14 by sewardj]
Handle tagging correctly (we hope :) -- don't tag up stuff to go into
constructors.

Also rearrange order of code for readability.

23 years ago[project @ 2000-12-05 17:30:34 by sewardj]
sewardj [Tue, 5 Dec 2000 17:30:34 +0000 (17:30 +0000)]
[project @ 2000-12-05 17:30:34 by sewardj]
Rework to be more convenient for assembly.  Now each BCO is a long
sequence of insns; case-switching code is explicit, and the alts are
all concatenated.  Assembly should then be doable with two simple
passes over the sequence.

23 years ago[project @ 2000-12-05 16:59:03 by rrt]
rrt [Tue, 5 Dec 2000 16:59:03 +0000 (16:59 +0000)]
[project @ 2000-12-05 16:59:03 by rrt]
Correct some merged variable names which have changed from_this toThis.

23 years ago[project @ 2000-12-05 12:24:09 by simonmar]
simonmar [Tue, 5 Dec 2000 12:24:09 +0000 (12:24 +0000)]
[project @ 2000-12-05 12:24:09 by simonmar]
wibble

23 years ago[project @ 2000-12-05 12:20:55 by simonmar]
simonmar [Tue, 5 Dec 2000 12:20:55 +0000 (12:20 +0000)]
[project @ 2000-12-05 12:20:55 by simonmar]
- print "compilation IS NOT required" in one-shot mode
- don't print extra newline in verbosity==0 mode

23 years ago[project @ 2000-12-05 12:19:49 by rrt]
rrt [Tue, 5 Dec 2000 12:19:49 +0000 (12:19 +0000)]
[project @ 2000-12-05 12:19:49 by rrt]
no_hs_main had become v_noHsMain, but I tried to reintroduce the old
version. Now hopefully fixed.

23 years ago[project @ 2000-12-05 12:15:19 by rrt]
rrt [Tue, 5 Dec 2000 12:15:19 +0000 (12:15 +0000)]
[project @ 2000-12-05 12:15:19 by rrt]
Declare no_hs_main

23 years ago[project @ 2000-12-05 12:09:43 by sewardj]
sewardj [Tue, 5 Dec 2000 12:09:43 +0000 (12:09 +0000)]
[project @ 2000-12-05 12:09:43 by sewardj]
Partially fix driver breakage.

23 years ago[project @ 2000-12-04 16:42:14 by rrt]
rrt [Mon, 4 Dec 2000 16:42:14 +0000 (16:42 +0000)]
[project @ 2000-12-04 16:42:14 by rrt]
Merge changes from old driver in before-ghci-branch.

23 years ago[project @ 2000-12-04 16:22:38 by sewardj]
sewardj [Mon, 4 Dec 2000 16:22:38 +0000 (16:22 +0000)]
[project @ 2000-12-04 16:22:38 by sewardj]
Add Outputable instances.

23 years ago[project @ 2000-12-04 16:02:20 by sewardj]
sewardj [Mon, 4 Dec 2000 16:02:20 +0000 (16:02 +0000)]
[project @ 2000-12-04 16:02:20 by sewardj]
First shot at the bytecode generator.  It isn't yet connected to the rest
of GHCi, and doesn't have a way to assemble the bytecodes, but at least
it typechecks :-)

23 years ago[project @ 2000-12-04 13:46:37 by simonmar]
simonmar [Mon, 4 Dec 2000 13:46:37 +0000 (13:46 +0000)]
[project @ 2000-12-04 13:46:37 by simonmar]
change paths to match haxml->HaXml change

23 years ago[project @ 2000-12-04 12:31:19 by simonmar]
simonmar [Mon, 4 Dec 2000 12:31:23 +0000 (12:31 +0000)]
[project @ 2000-12-04 12:31:19 by simonmar]
merge recent changes from before-ghci-branch onto the HEAD

23 years ago[project @ 2000-12-04 11:29:22 by simonmar]
simonmar [Mon, 4 Dec 2000 11:29:22 +0000 (11:29 +0000)]
[project @ 2000-12-04 11:29:22 by simonmar]
bugfix for GHCi lib building

23 years ago[project @ 2000-12-04 11:26:14 by simonmar]
simonmar [Mon, 4 Dec 2000 11:26:14 +0000 (11:26 +0000)]
[project @ 2000-12-04 11:26:14 by simonmar]
don't conflict with new Ptr type.

23 years ago[project @ 2000-12-01 21:53:59 by simonmar]
simonmar [Fri, 1 Dec 2000 21:53:59 +0000 (21:53 +0000)]
[project @ 2000-12-01 21:53:59 by simonmar]
build cbits libraries correctly for GHCi.

23 years ago[project @ 2000-12-01 13:42:52 by simonpj]
simonpj [Fri, 1 Dec 2000 13:42:53 +0000 (13:42 +0000)]
[project @ 2000-12-01 13:42:52 by simonpj]
Towards better eta expansion

23 years ago[project @ 2000-12-01 12:38:47 by simonpj]
simonpj [Fri, 1 Dec 2000 12:38:47 +0000 (12:38 +0000)]
[project @ 2000-12-01 12:38:47 by simonpj]
Fix the qualified-as problem;  M.as is now OK

23 years ago[project @ 2000-12-01 12:38:10 by simonpj]
simonpj [Fri, 1 Dec 2000 12:38:10 +0000 (12:38 +0000)]
[project @ 2000-12-01 12:38:10 by simonpj]
Add test for special Ids