From 71d1546acf59f06815eefa3986b361b16176dfdf Mon Sep 17 00:00:00 2001 From: keithw Date: Tue, 19 Feb 2002 11:04:37 +0000 Subject: [PATCH] [project @ 2002-02-19 11:04:37 by keithw] Some thoughts on `what happens when'. --- ghc/docs/comm/the-beast/driver.html | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) 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 -- 1.7.10.4