[LLVMdev] Running a pass
Chris Lattner
sabre at nondot.org
Wed Aug 13 17:05:03 PDT 2003
> I assume that since each pass is in its own anonymous
> namespace, we cannot directly create a new pass object;
> looking at the code for 'opt' utility, it seems we need a
> PassInfo object, using which we create a new pass object.
> I tried the following code (which I wrote after looking at
> the code for bugpoint), but the list of passes seems to be
> empty:
Being in an anonymous namespace just means you cannot invoke the methods
of the pass directly. Given a pointer to an object of that pass, however,
you can invoke virtual methods and otherwise use the pass.
To get a pointer to an instance of the mem2reg pass, just call
createPromoteMemoryToRegister(), declared in
include/llvm/Transforms/Scalar.h
> >I'm not sure what is causing this problem, if main is not even executing
> >yet, then it shouldn't matter what your main does. :)
>
> This is apparently caused by the linking the 'ipo' library.
> I removed that from my Makefile, and it does not happen any
> more.
I'm not sure what could possibly cause this. If you send me details
(off-list) I would be happy to look into it.
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
More information about the llvm-dev
mailing list