[LLVMdev] Maintaining pass code outside of the LLVM directory
Trevor Harmon
trevor.w.harmon at nasa.gov
Thu Mar 25 13:32:17 PDT 2010
On Mar 22, 2010, at 9:53 PM, John Criswell wrote:
> You can always use the LLVM project infrastructure (documented at
> http://llvm.org/docs/Projects.html).
Thanks for reminding me of that. I had actually started out with a
project infrastructure, then switched to a pass implementation alone,
not realizing I could combine the two. I've now reverted back to my
old project, integrated the pass code into it, and my problem appears
to be solved.
> If you have any questions or have any problems, please email llvmdev.
Well, there is one thing... I'm wondering how best to actually run the
pass after it's been compiled. Currently I'm just invoking "opt" and
passing it a "-load" parameter with the name of my pass's dynamic
library. I also have to add a couple more "-load" parameters for
external libraries needed by the pass, followed by the custom
parameters for the pass itself, and of course the "opt" parameters
(the name of a bitcode input file, etc.). It gets to be a rather long
and complex command line, and not a very friendly way of using the pass.
Is there a better way? I suppose I could put the parameters in a shell
script -- simply a custom wrapper for "opt" -- and put it in the
project's tools directory. Or maybe I could write some kind of native
tool that bypasses "opt" altogether and somehow invokes the pass
through LLVM's API. But that might be overkill. Not sure how others
typically handle this. Any thoughts? Thanks,
Trevor
More information about the llvm-dev
mailing list