From: keithw Date: Tue, 19 Feb 2002 11:04:37 +0000 (+0000) Subject: [project @ 2002-02-19 11:04:37 by keithw] X-Git-Tag: Approximately_9120_patches~1 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=71d1546acf59f06815eefa3986b361b16176dfdf;p=ghc-hetmet.git [project @ 2002-02-19 11:04:37 by keithw] Some thoughts on `what happens when'. --- diff --git a/ghc/docs/comm/the-beast/driver.html b/ghc/docs/comm/the-beast/driver.html index 6f6e784..fbf65e3 100644 --- a/ghc/docs/comm/the-beast/driver.html +++ b/ghc/docs/comm/the-beast/driver.html @@ -70,6 +70,21 @@ HsVersions.h. +

What Happens When

+

+ Inside the Haskell compiler proper (hsc), a whole series of + stages (``passes'') are executed in order to transform your Haskell program + into C or native code. This process is orchestrated by + main/HscMain.hscMain and its relative + hscReComp. The latter directly invokes, in order, + the parser, the renamer, the typechecker, the desugarer, the + simplifier (Core2Core), the CoreTidy pass, the CorePrep pass, + conversion to STG (CoreToStg), the interface generator + (MkFinalIface), the code generator, and code output. The + simplifier is the most complex of these, and is made up of many + sub-passes. These are controlled by buildCoreToDo, + as described below. +

Scheduling Optimisations Phases

GHC has a large variety of optimisations at its disposal, many of which @@ -157,7 +172,7 @@

-Last modified: Tue Nov 6 16:08:59 EST 2001 +Last modified: Tue Feb 19 11:09:00 UTC 2002