On Tue, 2010-06-15 at 18:38 +0200, Jan Hubicka wrote: Citing Diego Novillo: > > I have been thinking about doing some cleanups to the pass manager.
> This has been my goal for years, but somehow it always got off the top of > TODO list ;) > > > > Additionally, I would like to (at some point) incorporate some/most of > > the functionality provided by ICI > > (http://ctuning.org/wiki/index.php/CTools:ICI). I'm not advocating > > for integrating all of ICI, but leave enough hooks so such > > experimentations are easier to do. Good. > > > > Initially, I'm going for some low hanging fruit: > > > > - Fields properties_required, properties_provided and > > properties_destroyed should Mean Something other than asserting > > whether they exist. > > - Whatever doesn't exist before a pass, needs to be computed. > > - Pass scheduling can be done by simply declaring a pass and > > presenting it to the pass manager. The property sets should be enough > > for the PM to know where to schedule a pass. > > - dump_file and dump_flags are no longer globals. > > One thing I would like to see (i.e. plan to add once I have time for it) > is to commonize normal<O&WHOPR queues. > At the moment WHOPR WPA somehow stands away and LTO is implemented by breaking > up the previously continuous pass queue into pieces. I would also suggest a tiny incremental progress in documentation. Perhaps it could be as simple as suggesting a common comment template for passes. Also, some more conventions could be helpful, for example that each pass is named FOO_pass and its name field should be "FOO" or "*FOO" What I still don't understand well are simple things like: what is the name (in the opt_pass sense) of a given pass? what are the passes providing a valid cfun? what are the passes keeping the function-s? etc. I believe that a structured comment could help. When - in many years :-( - the powerful people (Steering Committee, FSF, RMS, ...) would accept the idea of generating documentation from code [and implement the legalese allowing it thru appropriate exceptions, or legal notices, or licenses], we could even imagine have an automatically generated chapter documenting the passes. We could also imagine a Graphviz *.dot file describing the graph of all passes. Cheers! -- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359 8, rue de la Faiencerie, 92340 Bourg La Reine, France *** opinions {are only mines, sont seulement les miennes} ***