[LLVMdev] dependent passes
Ryan M. Lefever
lefever at crhc.uiuc.edu
Wed Sep 27 02:15:41 PDT 2006
I think that we are talking about two different things. I understand
that in order to use LLVM classes you must either qualify them with the
llvm namespace or use the statement "using namespace llvm;" What I'm
saying is that it has been my experience that when a pass Y depends on
another pass X, i.e, Y is a required analysis of X, then Y must be
defined within the llvm namespace rather than in an anonymous namespace
as http://llvm.org/docs/WritingAnLLVMPass.html suggests it should be.
I'm wondering if that is correct, or if I'm missing something.
Devang Patel wrote:
> On Sep 26, 2006, at 5:49 PM, Ryan M. Lefever wrote:
>> I am trying to create two passes X and Y, in which pass X depends on
>> pass Y. After attempting this several times it appears that pass Y
>> be in the llvm namespace. Whenever it was not in the llvm namespace,
>> "opt -load" would complain about undefined symbols when I called
>> getAnalysis<>(). Am I correct that the pass that is depended on must
>> in the llvm namespace? If so, that was not clear in the documentation
>> regarding writing an LLVM pass.
> http://llvm.org/docs/WritingAnLLVMPass.html says,
> Basic code required
> Now that we have a way to compile our new pass, we just have to write
> it. Start out with:
> #include "llvm/Pass.h"
> #include "llvm/Function.h"
> Which are needed because we are writing a Pass, and we are operating
> on Function's.
> Next we have:
> using namespace llvm;
> ... which is required because the functions from the include files
> live in the llvm namespace.
More information about the llvm-dev