[LLVMdev] RFC: Pass Manager Redux

Florian Brandner flbr at imm.dtu.dk
Wed Jul 11 23:49:20 PDT 2012


On Wed July 11 2012 11:50:01 Chandler Carruth wrote:
> - What else did I miss?
> 
> 
> Things that are totally out of scope: pass registration, the current pass order and structure, the fundamental interface of mapping from a pass to an analysis, etc. This is really about pass management and scheduling.
> 

Hi Chandler,

I understand why the pass registration and the pass order/structure is out of 
scope for your work. However, as others have already noted, there are problems
that are somewhat related to how pass scheduling works. From my perspective, 
the current way we specify the pass order/structure is too much spread all over
different places. Maybe this is the right time to discuss how this could be 
improve?! This way your proposal may already incorporate some of the 
requirements that might come up once the pass registration/order/structure is
changed. One idea, for instance, could be to extend tablegen to specify pass 
pipelines, or maybe even better, allow the parsing of such specifications at 
runtime. This would provide a clear representation of which passes are 
executed, and a clear interface on how this can be modified/extended.


Another important point are passes in the backend. Currently we have some 
severe limitations there (for instance, all codegen passes have to be function 
passes). It would be great if the full flexibility of the pass scheduling 
framework could be preserved even in the backend.


All the best,
Florian

-- 
Florian Brandner
Embedded Systems Engineering Group
Department of Informatics and Mathematical Modeling
DTU Informatics
Technical University of Denmark
Richard Petersens Plads
Building 322, room 206
2800 Lyngby
Denmark

phone: +45 45255223
web: http://www.imm.dtu.dk/~flbr/
email: flbr at imm.dtu.dk





More information about the llvm-dev mailing list