[PATCH] [PM] Create a separate library for high-level pass management code.

Hal Finkel hfinkel at anl.gov
Wed Mar 4 19:19:16 PST 2015


----- Original Message -----
> From: "Chandler Carruth" <chandlerc at gmail.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "Chandler Carruth" <chandlerc at gmail.com>, "Commit Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu>,
> reviews+D8054+public+4e159570c2fea75a at reviews.llvm.org
> Sent: Wednesday, March 4, 2015 9:10:58 PM
> Subject: Re: [PATCH] [PM] Create a separate library for high-level pass management code.
> 
> On Wed, Mar 4, 2015 at 6:58 PM, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> > A little verbose, but how about something like PassPipelineBuilder?
> > It isn't just building pipelines though. It also builds analysis
> > passes in order to register them with the analysis manager.
> 
> Fair enough, but is that just the analysis pipeline?
> It's not really a pipeline? Things don't run through it. It just
> registers available analyses that are then run on-demand.

True. But I'm comfortable with saying that you have some 'transformation pipeline' builder, with which you also need to register analysis passes. The analysis passed don't actually do anything unless you have a transform regardless. FWIW, I'm not in love with the name, but I like it better than PassBuilder (since it does not really build passes) -- what it is really doing is building a pass work flow, or a pass DAG (and then executing / evaluating it). Maybe calling the object PassOrdering is better?

 -Hal

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list