(no subject)

Our group has been working on a clang plugin. Using clang's plugin
facility has been a pleasant experience. But we'd now like to transition
to building a standalone executable. I have a few questions:

1. A PluginASTAction allows us to attach our ASTConsumer to a
CompilerInstance by overriding the virtual function CreateASTConsumer. My
impression is that we will now need to manually initialize a
CompilerInstance and then use setASTConsumer to attach our ASTConsumer.
Is this the correct approach?

2. If we're only using a small subset of llvm/clang libraries, can we
expect the executable size to be significantly ( >50%) smaller than the
clang binary? I realize it's hard to answer this question without seeing
our code.