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