Alexandre Oliva wrote:
On Nov 15, 2007, Diego Novillo <[EMAIL PROTECTED]> wrote:

If/when your pass reaches certain maturity, you think it's ready for
production, and people think it's a good idea to have it in the
compiler, then you convert it into a static pass and you go through
the traditional bootstrap process.

That's the core idea with plug-ins, they allow more flexibility for
experimentation.  They are not a means for implementing permanent
features in the compiler.

I find the two paragraphs above contradictory.  If they're not means
for implementing permanent features, then converting a pass
implemented as a plugin that's ready for production into a static pass
is what?

Converting a pass implemented as a plug-in into a static pass is the way to add permanent feature in the compiler. In principle, I don't think we'll want to implement permanent features as plug-ins.

It raises an issue of how important it is that this plugin
architecture, if it is to exist, be similar to the internals of GCC,
such that the conversion is as simple as possible.

There is no conversion. Read Sean Callanan's paper in this year's GCC Summit proceedings. Plug-in code uses the same internal code as statically linked passes.


Diego.

Reply via email to