Changes between Version 28 and Version 29 of Commentary/Compiler/HscMain


Ignore:
Timestamp:
Mar 26, 2007 12:26:48 AM (7 years ago)
Author:
kirsten
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/HscMain

    v28 v29  
    2727    * The '''Simplifier''', which applies lots of small, local optimisations to the program.  The simplifier is big and complicated, because it implements a ''lot'' of transformations; and tries to make them cascade nicely.  The transformation-based optimiser paper gives lots of details, but two other papers are particularly relevant: [http://research.microsoft.com/%7Esimonpj/Papers/inlining/index.htm Secrets of the Glasgow Haskell Compiler inliner (JFP'02)] and [http://research.microsoft.com/%7Esimonpj/Papers/rules.htm Playing by the rules: rewriting as a practical optimisation technique in GHC (Haskell workshop 2001)].[[BR]][[BR]] 
    2828    * The '''float-out''' and '''float-in''' transformations, which move let-bindings outwards and inwards respectively.  See [http://research.microsoft.com/%7Esimonpj/papers/float.ps.gz Let-floating: moving bindings to give faster programs (ICFP '96)].[[BR]][[BR]] 
    29     * The '''strictness analyser'''.  This actually comprises two passes: the '''analyser''' itself and the '''worker/wrapper''' transformation that uses the results of the analysis to transform the program. (Further described in [wiki:Commentary/Compiler/StrictnessAnalysis Demand analysis]. The same analyser also does [http://research.microsoft.com/%7Esimonpj/Papers/cpr/index.htm Constructed Product Result analysis].[[BR]][[BR]] 
     29    * The '''strictness analyser'''.  This actually comprises two passes: the '''analyser''' itself and the '''worker/wrapper''' transformation that uses the results of the analysis to transform the program. (Further described in [wiki:Commentary/Compiler/StrictnessAnalysis Demand analysis].) The same analyser also does [http://research.microsoft.com/%7Esimonpj/Papers/cpr/index.htm Constructed Product Result analysis].[[BR]][[BR]] 
    3030    * The '''liberate-case''' transformation.[[BR]][[BR]] 
    3131    * The '''constructor-specialialisation''' transformation.[[BR]][[BR]]