similar to: [LLVMdev] Function aliases in CallGraph

Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] Function aliases in CallGraph"

2012 Oct 11
0
[LLVMdev] Function aliases in CallGraph
On Thu, Oct 11, 2012 at 3:56 PM, Stephen Schiffli <sschiffli at gmail.com> wrote: > Hello, I have a simple program using aliases to functions, and it seems that > the CallGraph doesn't follow these aliases. Here is the example: > > @alias = alias void ()* @realfunc > > define void @realfunc() { > entry: > ret void > } > > define i32 @main() { >
2012 Oct 03
2
[LLVMdev] Inter-procedural program flow analysis
I think you're looking for an inter-procedural post dominator analysis. I don't think there is one in LLVM already, but it should be relatively straightforward. This gives a sound approximation (i.e. no false positives) of something sort-of equivalent to the halting problem: if the program terminates, then block Y was executed. Cheers, Scott On Tue, Oct 2, 2012 at 7:43 PM, Jim Grosbach
2012 Oct 02
2
[LLVMdev] Inter-procedural program flow analysis
Is there any inter-procedural analysis that could tell me if some BasicBlock Y is guaranteed to execute based on my knowledge that BasicBlock X will execute? For example: extern int x; void foo() { } int main() { if (x) { foo(); } else { foo(); } } I want to be told that the entry block of foo is guaranteed to be
2012 Oct 03
0
[LLVMdev] Inter-procedural program flow analysis
Okay thanks for the info. The term program termination was probably a poor choice of words. I'm really just trying to build an inter-procedural BasicBlock graph, and then look for postdominance as Scott suggested. I'll go about making my own since it doesn't sound like there is one out there already. Thanks, -Stephen On Tue, Oct 2, 2012 at 5:06 PM, Scott Moore <sdmoore at
2012 Oct 02
0
[LLVMdev] Inter-procedural program flow analysis
Isn't this effectively the halting problem? Consider the case where block Y is the exit block of main() and block X is the entry block of main(). Jim On Oct 2, 2012, at 4:29 PM, Stephen Schiffli <sschiffli at gmail.com> wrote: > Is there any inter-procedural analysis that could tell me if some BasicBlock Y is guaranteed to execute based on my knowledge that BasicBlock X will
2012 Aug 08
1
[LLVMdev] clang thread-local compilation error on windows
Hello, I am trying to compile some code to LLVM IR with a simple "__thread int x" but hitting this error: test.cpp:1:1: error: thread-local storage is unsupported for the current target I'm using both the -S and -emit-llvm options on clang, and was expecting to see "@x = thread_local global i32 0" come out of clang. I am curious why clang even cares about this since
2012 Nov 16
1
[LLVMdev] LLMV demo page
Hello all, I was playing with the demo and found that I couldn't use any c++11: warning: 'noexcept' is a keyword in C++11 [-Wc++11-compat] I was wondering if the demo will be updated to LLVM/Clang 3.2 once that finishes, and if it would be possible to enable c++11 support. Thanks, -Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL:
2012 Dec 17
1
[LLVMdev] llvm.org down
FYI, it appears that llvm.org is down for everyone. http://www.downforeveryoneorjustme.com/llvm.org -Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121216/fd9797ca/attachment.html>
2006 May 01
1
[LLVMdev] Getting CallGraph SCCs
Is there a way in LLVM , using which I can get Call graph SCCs in reverse post order in a FunctionPass object? -Balpreet -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060501/f34b3700/attachment.html>
2006 May 26
1
[LLVMdev] Re: About the callgraph builder
Hi Chris, Oh, I can see that you very busy with nearly every topic on the list. Very hard working man :) Actually I am not in a hurry. And thanks in advance. I think LLVM gives me a platform to learn and exercise many things. Best wishes to LLVM , to you and anyone contributing to it. :) On Friday 26 May 2006 10:52, Chris Lattner wrote: > On Fri, 26 May 2006, Nai Xia wrote: > > Could
2006 May 30
0
[LLVMdev] Some thinking for callgraph builder
On Wed, 2006-05-24 at 11:04, Nai Xia wrote: > Indirect call information could be constructed either from partial result > of DSA as suggested by Andrew. And alternatively, it can use the alias > information constructed by any AA. I think both interface may be > provided to let clients chose between the generality and the tight > integration with wonderful DSA. I
2008 Jun 03
1
[LLVMdev] want to use CallGraph Pass in llc
Hi Paul, > > Assertion `0 && "Unable to handle Pass that requires lower level > > Analysis > > pass"' failed. I have been struggling with the same problem as well, when I wanted to make a loop pass depend on a module pass (IIRC). You should probably pull your program through gdb and get a backtrace so you can see what pass is causing the problem. Also, a
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:
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...
2009 Aug 13
0
[LLVMdev] CallGraph - Dominators and Loop Information
Hello everyone, Can LLVM calculate DominatorTree and LoopInfo for call graphs? For example, I need to know if an edge (function1->function2) is a backedge. If there was a DominatorTree for call graphs that would be easy. Since I haven't found, I've copied the algorithm FindFunctionBackedges in BasicBlockUtils.cpp and modified it to use call graphs. Unfortunately, since the call
2011 Mar 29
0
[LLVMdev] Anomaly with CallGraph construction
Hi Gabriel, ... > Summarizing, I have two questions: 1) is the CallGraph analysis "working as > intended" here?; and 2) what would be the correct approach > to modifying the proposed analysis in order to detect that randlc() is being > called in that CallInst ? the reason that the callgraph analysis does not try to understand indirect calls like this is that other passes
2013 Jul 03
2
[LLVMdev] CallGraph in immutable pass
Hello, is there any way I can access CallGraph from immutable pass via getAnalysis? As I understand it, this may not be possible, because immutable pass don't have runOn method and is never actually planned. But I'm not 100% sure how this works, so I don't know if there is some other way. Thanks, Robert Barucak
2013 Jul 03
0
[LLVMdev] CallGraph in immutable pass
Your understanding is correct -- this is impossible. What are you really trying to do? On Jul 3, 2013 9:15 AM, "Robert Baručák" <xbaruc00 at stud.fit.vutbr.cz> wrote: > Hello, > is there any way I can access CallGraph from immutable pass via > getAnalysis? > As I understand it, this may not be possible, because immutable pass don't > have runOn method and is
2013 Jul 04
1
[LLVMdev] CallGraph in immutable pass
On 07/03/2013 06:18 PM, Chandler Carruth wrote: > > Your understanding is correct -- this is impossible. What are you > really trying to do? > I'm working on implementation of some fancier alias analysis algorithm. I have experienced strange behavior when I registered my AA (as module pass) into AA group. Somehow I was unable to get correct DataLayout from AA interface. So I
2015 Jun 08
2
[LLVMdev] Use Callgraph
Hi All, I tried to use CallGraph in llvm by adding "AU.addRequired<CallGraph>();" in getAnalysisUsage function. But it reports an error: include/llvm/PassAnalysisSupport.h:56:39: error: ‘ID’ is not a member of ‘llvm::CallGraph’ return addRequiredID(PassClass::ID); How to use it correctly? Thanks, Haopeng