Changes between Version 14 and Version 15 of Commentary/Pipeline


Ignore:
Timestamp:
Oct 4, 2006 8:32:16 PM (8 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Pipeline

    v14 v15  
    1717   * C-- mode: flag {{{-fcmm}}}, file {{{Foo.cmm}}}, believed not to work 
    1818 
    19   * Run the C compiler [followed by the evil mangler] or assembler, as appropriate, generating {{{Foo.o}}} 
     19  * In the {{{-fviaC}}} case, run the C compiler, followed by the [wiki:EvilMangler Evil Mangler], generating {{{Foo.s}}} 
     20 
     21  * If `-fsplit-objs` is in force, run the '''splitter''' on `Foo.s`.  This splits `Foo.s` into lots of small files, `Foo/Foo1.s`, `Foo/Foo2.s`, etc.  The idea is that the static linker will thereby avoid linking dead code. 
     22 
     23  * Run the assembler on `Foo.s` or, if `-fsplit-objs` in in force, on each individual assembly file. 
    2024 
    2125== Interface files == 
     
    3438 * The strictness, arity, and unfolding of exported functions.  This is crucial for cross-module optimisation; but it is only included when you compile with {{{-O}}}. 
    3539 
    36 == HC files == 
    37  
    38 GHC uses {{{gcc}}} as a code generator, in a very stylised way: 
    39  * Generate {{{Foo.hc}}} 
    40  * Compile it with {{{gcc}}}, using {{{register}}} declarations to nail a bunch of things into registers (e.g. the allocation pointer) 
    41  * Post-process the generated assembler code with the Evil Mangler