[LLVMdev] Making a pass available to llc?

Reid Spencer reid at x10sys.com
Mon Jul 25 22:02:45 PDT 2005


On Mon, 2005-07-25 at 21:48 -0700, Michael McCracken wrote:
> On 7/25/05, Reid Spencer <reid at x10sys.com> wrote:
> > Why not just create your pass as a shared object and:
> > 
> > opt -load mypass.so -mypass | llc
> 
> My pass is an implementation of an analysis group that I wanted to
> make available to machine passes as well as optimization passes. So I
> really do want it in llc, not just its output.
> 
> I could easily change my llc to just load my pass, I just wanted to
> check if there was a better way first. 

That sounds like the simplest thing to do. Loadable analyses in llc
would be a good feature to add if you wanted to contribute that back.
That way any machine level analyses that are needed could be loaded
(presumably via llvmc).

> Specifically, should I dive
> into llvmc and help flush out bugs? (how unfinished is it?)

Its not so much buggy as it is incomplete. It will faithfully compile
programs per the language configuration files using whatever tools are
required for a given language. See the configuration files in
llvm/tools/llvmc directory for examples. The main thing that is lacking
is not so much llvmc as it is llvm-ld which currently can't produce
native executables well. This may not matter for your project. There's
probably a few other things wrong with it but I forget the details. To
see it in action, check out the samples directory in the Stacker
project. It currently uses llvmc to compile the sample programs. Same
goes for the test directory.

Reid. 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20050725/c4f1690c/attachment.sig>


More information about the llvm-dev mailing list