[LLVMdev] statically link pass to clang

Zeng Bin ezengbin at gmail.com
Fri Sep 23 11:05:29 PDT 2011


Hi all,

A question about statically linking a pass to clang instead of dynamically
loading it at runtime. I am stumped on this bug for a while. I inserted a
pass under lib/Transforms/mypass directory, registered it with
INITIALIZE_PASS and defined createMyPass in the pass. Also I added file
mypass.h in include/llvm/Transforms/ to expose the accessor functions that
expose my passes. Entries are added in include/llvm/LinkAllPasses.h to force
pass linking. The archive files of my passes are added to LINK_COMPONENTS in
the Makefiles for opt and clang. However, the passes are still not
statically linked. Is there a way to statically link a pass into clang? If
possible, how do turn on and off my passes with command line options?

I am trying to use clang as a c and c++ compiler. I can walk around this by
compiling source into bitcode and then invoke opt which dynamically loads my
passes and then compile it into x86 assembly with llc. How can I pass some
command line options for clang such as -fomit-frame-pointer to llc so that
frame pointer is  reserved? Thank you so much in advance.

Bin Zeng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110923/d50e5c3e/attachment.html>


More information about the llvm-dev mailing list