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

Chandler Carruth chandlerc at gmail.com
Thu Mar 5 14:00:01 PST 2015


On Wed, Mar 4, 2015 at 7:24 PM, Chandler Carruth <chandlerc at gmail.com>
wrote:

> On Wed, Mar 4, 2015 at 7:19 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
>> > 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?
>
>
> Errr, no, it really is building passes. And it *doesn't* execute or
> evaluate anything.
>
> It constructs pass objects, and passes them to either the 'register'
> methods on an analysis manager or the 'add' methods on a pass manager. It
> doesn't do anything other than construct the passes and put them into one
> of the two managers.
>
> It isn't even establishing some kind of specific or necessary ordering for
> passes. The orderings are primarily a function of the input string.
>

Any updates here? I think i'm somewhat more worried about using pipeline in
the name than having an overly general name, so "PassBuilder" seems the
best to me, but only if we've actually gotten on the same page regarding
whether this actually builds passes. (If I'm missing something here, then
it is actually a misleading name and we need to fix that.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150305/2acd82c6/attachment.html>


More information about the llvm-commits mailing list