Displaying 20 results from an estimated 40000 matches similar to: "[LLVMdev] How to get function information in a generated call graph?"
2009 May 10
2
[LLVMdev] Get the call graph SCCs from a function pass
On 5/10/09, Török Edwin <edwintorok at gmail.com> wrote:
> On 2009-05-10 20:11, Nick Johnson wrote:
> > Hello,
> >
> > I'm writing a Function Pass. This function pass needs access to the
> > CallGraph and CallGraph SCCs. Is there any way I can get CallGraph
> > information without changing my pass to a CallGraphSCCPass ?
>
>
> Does
2009 May 10
0
[LLVMdev] Get the call graph SCCs from a function pass
On 2009-05-10 20:11, Nick Johnson wrote:
> Hello,
>
> I'm writing a Function Pass. This function pass needs access to the
> CallGraph and CallGraph SCCs. Is there any way I can get CallGraph
> information without changing my pass to a CallGraphSCCPass ?
Does getAnalysis<CallGraph>() work?
But I'm not sure if using a FunctionPass to access Callgraph data is a
good
2009 May 10
2
[LLVMdev] Get the call graph SCCs from a function pass
Hello,
I'm writing a Function Pass. This function pass needs access to the
CallGraph and CallGraph SCCs. Is there any way I can get CallGraph
information without changing my pass to a CallGraphSCCPass ?
Thanks,
--
Nick Johnson
2018 Nov 08
4
LLVM Call Graph may not cover all calls
Hi there,
I am working with opt-6.0 and try to generate a call graph of
libsndfile, but it seems the call graph doesn't cover all call relationship.
Actually, I am doing static analysis on *CVE-2014-8130*, which is a zero
division on libtiff/tif_write.c TIFFWriteScanline. (see
https://security-tracker.debian.org/tracker/CVE-2014-8130)
Theoretically, the main function in
2009 May 10
0
[LLVMdev] Get the call graph SCCs from a function pass
On 2009-05-10 21:18, Nick Johnson wrote:
> On 5/10/09, Török Edwin <edwintorok at gmail.com> wrote:
>
>> On 2009-05-10 20:11, Nick Johnson wrote:
>> > Hello,
>> >
>> > I'm writing a Function Pass. This function pass needs access to the
>> > CallGraph and CallGraph SCCs. Is there any way I can get CallGraph
>> >
2015 Oct 09
2
Get instance of CallGraph of a module in the pass
Hello,
I want an instance of CallGraph in my pass. By looking at -dot-callgraph
source, I've tried something like this:
CallGraphWrapperPass *CGWP = new CallGraphWrapperPass();
PM.add(CGWP);
CallGraph *CG = &CGWP->getCallGraph();
PM.add(new MyPass(CG));
I get the following error:
/home/riyad/installs/llvm-3.7.0/include/llvm/PassSupport.h:95:38: error: no
matching constructor for
2010 Jun 07
2
[LLVMdev] Two quick questions on call graph nodes
Hello Duncan,
> >> what version of LLVM are you using? I don't think LLVM 2.7 uses a
> >> "indirect call node". However it does use a "external node", which
> >> is used when a function external to the current module is called.
> >>
> >
> > The "external node" makes sense. However, I am using LLVM 2.8. (See
>
2013 Dec 02
2
[LLVMdev] Segmentation fault when traverse call graph
Dear everyone,
I want to traverse call graph, but I have some trouble .
In my pass MyPass which need to traverse call graph, I firstly added the
CallGraph analysis to the pass requirements by
*AU.addRequired<CallGraph>();*
My pass MyPass then will be added to a pass manager by
*manager.add(new MyPass());*
and then I want to traverse the call graph such as:
CallGraph CG =
2009 Feb 13
0
[LLVMdev] loop passes vs call graph
Hi,
> I'm looking at bug 3367.
>
> If I run:
>
> $ opt b.bc -inline -loop-rotate -loop-unswitch -debug-pass=Executions
>
> ... it eventually crashes in the inliner, because the call graph isn't
> up to date. (NB if you want to reproduce this you'll have to apply my
> patch from bug 3367 first.)
>
> The reason the call graph isn't up to date is
2013 Dec 03
0
[LLVMdev] Segmentation fault when traverse call graph
I recall having a similar problem while coding my own special-purpose
"opt". My guess: try adding the following lines before your pass is
inserted into the PassManager:
PassRegistry &Registry = *PassRegistry::getPassRegistry();
initializeIPA(Registry);
You might require other library initializations. Have a look at the
"opt" source code.
On 02/12/13 10:36,
2009 Jul 24
1
[LLVMdev] how to get Callgraph from a bunch of .bc files?
Dear All,
The problem I have is to how to get the callgraph for the whole application given .bc file of each source file? using opt as "opt -dot-callgraph main.bc" gives a single callGraph for main.bc but how can I generate a CallGraph that includes all functions in all the .bc files?
Thanks,
::Saman
-------------- next part --------------
An HTML attachment was scrubbed...
2008 Aug 20
0
[LLVMdev] Call Graph Analysis
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
2008 Aug 21
2
[LLVMdev] Call Graph Analysis
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
2008 Aug 20
2
[LLVMdev] Call Graph Analysis
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
2009 Feb 27
2
[LLVMdev] AnalysisUsage & Call Graph SCC Pass Manager
Hello,
I have the following sequence of passes (using --debug-pass=Structure):
...
ModulePass Manager
FunctionPass Manager
Preliminary module verification
Dominator Tree Construction
Module Verifier
MyModulePass0
MyAnalysis
Basic CallGraph Construction
MyModulePass1
MyAnalysis
MyModulePass2
Basic CallGraph Construction
Call Graph SCC Pass
2009 Mar 04
1
[LLVMdev] callgraph utility with opt
Hello All,
I wanted to know how to use -callgraph option provided with opt. I have been
using a -print-callgraph for generating a CG but I don't want the o/p to go
to a dot file. Is it required to build a pass using CallGraph.cpp or we can
directly use the option with a .bc file.
Thanks
SHWETA
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Nov 03
2
[LLVMdev] Identify recursion in a call graph
On Nov 2, 2010, at 12:53 PM, Jeff Kunkel wrote:
> Also, could you write this in a separate pass, and obtain the
> results from getAnalysis()? I think others would find it useful to
> discover if a Function may be called recursively.
I've modified the code so that it correctly identifies both direct and
indirect recursion. I'm now trying to package it up as a patch for the
2008 Aug 22
0
[LLVMdev] Call Graph Analysis
On Aug 21, 2008, at 2:20 PM, kapil anand wrote:
> 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"
2010 May 04
1
[LLVMdev] Call graph node for function: 'main' Calls external node
Hello,
On the following code,
//
#include <stdio.h>
void f2();
int main(){
f2();
return 0;
}
void f2(){
printf("f2()\n");
}
//
I have obtained the .bc file and run
opt -print-callgraph finename.bc.
For the main function, the output of the above command is:
Call graph node for function: 'main'
Calls external node
However, the function called by
2010 Nov 02
0
[LLVMdev] Identify recursion in a call graph
Also, could you write this in a separate pass, and obtain the results from
getAnalysis()? I think others would find it useful to discover if a Function
may be called recursively.
-Jeff Kunkel
On Tue, Nov 2, 2010 at 2:38 PM, Jeff Kunkel <jdkunk3 at gmail.com> wrote:
> Hi you basically need to find a cycles in the call graph. Do do this just
> search google for a graph algorithm, then