Hi,
I have made my optimization as an extension of ModulePass as suggested in
last mail. I included "addRequired<CallGraph>" in
getAnalysisUsage function.
The application compiles fine but while linking, I get following errors:
"undefined reference to llvm::CallGraphLinkVar"
"undefined reference to llvm::CallGraph::ID
The above error is at point where I refer to individual instruction. I
followed the conventions used in GlobalModRefPass, which is also an
extension of ModulePass. Is there any other convention which needs to be
followed?
Thanks
--Kapil
On Wed, Aug 20, 2008 at 1:59 PM, Bill Wendling <isanbard at gmail.com>
wrote:
> On Wed, Aug 20, 2008 at 9:47 AM, kapil anand <kapilanand2 at
gmail.com>
> wrote:
> > Hi,
> >
> > I have been working on implementing new analysis for a LLVM module.
For
> > that, I need that Call Graph of the module. Inside the CallGraph file,
> the
> > constructor has been declared "protected" hence I can't
define its
> instance
> > and thus use the CallGraph for further analysis.
> >
> > So, what are the ways of building and using Call Graph of a module. Do
I
> > need to make my new analysis as another PASS?
> >
> Yes, you should make it a pass, and then say that that pass requires
> call graph information like this:
>
> AU.addRequired<CallGraph>();
>
> The pass manager's responsible for providing that analysis information
> for you. See how it's used in other passes for examples.
>
> -bw
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20080821/04d3929e/attachment.html>