Changes between Version 29 and Version 30 of NewPlugins


Ignore:
Timestamp:
Jan 21, 2011 11:33:11 PM (3 years ago)
Author:
thoughtpolice
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NewPlugins

    v29 v30  
    115115http://www.haskell.org/pipermail/cvs-ghc/2011-January/059015.html 
    116116 
    117 === The Hoopl story - analysis and transformation composition ===  
     117TODO: fixme 
     118 
     119==== The Hoopl story - analysis and transformation composition ====  
    118120 
    119121[http://hackage.haskell.org/package/hoopl Hoopl] is the main workhorse behind the new GHC code generator - it is a sophisticated, higher order and highly polymorphic library for writing optimization and dataflow passes over imperative code graphs. It is based on the work of Lerner, Grove and Chambers [3], and one of the nice properties of the design is that it makes it easy to compose independent dataflow analysis to create a super-analysis that is more powerful than either analysis on its own, without the tedium of having to manually write such a super-analysis. 
    120122 
    121 The question here is: how can users specify in what ways their plugin pass composes with other passes? This is one of the very tantalizing things about hoopl: independent writers of optimization passes can piggyback off each other and combine separate passes to create a powerful super-analysis. 
     123The question here is: how can users specify in what ways their plugin pass composes with other passes? This is one of the very tantalizing things about hoopl: independent writers of optimization passes can piggyback off each other and combine separate passes to create a much more powerful optimization pass. Part of the question for the API is - how should plugin writers specify when and how transformations occur? 
    122124 
    123125TODO: fixme