similar to: [LLVMdev] Indirect function call

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Indirect function call"

2006 May 23
4
[LLVMdev] Indirect function call
On Monday 22 May 2006 22:22, Andrew Lenharth wrote: > On Mon, 2006-05-22 at 15:33 +0800, 澶忎竴姘� wrote: > > But my code does not always works: if the arguments are not pointer, > > CompleteBUDataStructures not records it. So, if you want to find all indirect > > calls, you maybe have to repair CompleteBUDataStructures. :) > > Not surprising, CBU is trying to do something
2006 May 23
0
[LLVMdev] Indirect function call
On Tue, 2006-05-23 at 13:32 +0800, Nai Xia wrote: > On Monday 22 May 2006 22:22, Andrew Lenharth wrote: > > On Mon, 2006-05-22 at 15:33 +0800, 澶忎竴姘� wrote: > > > But my code does not always works: if the arguments are not pointer, > > > CompleteBUDataStructures not records it. So, if you want to find all indirect > > > calls, you maybe have to repair
2006 May 22
2
[LLVMdev] Indirect function call
The follwing is a snippet of code to find some indirect calls in a module, which I learned from TopDownClosure.cpp: void FPS::repairCallGraph(Module &M) { CompleteBUDataStructures &DS = getAnalysis<CompleteBUDataStructures>(); for (Module::iterator f = M.begin(); f != M.end(); ++f ) { if( f->isExternal() ) continue; for (Function::iterator I = f->begin(); I !=
2006 May 22
0
[LLVMdev] Indirect function call
On Mon, 2006-05-22 at 15:33 +0800, 夏一民 wrote: > But my code does not always works: if the arguments are not pointer, > CompleteBUDataStructures not records it. So, if you want to find all indirect > calls, you maybe have to repair CompleteBUDataStructures. :) Not surprising, CBU is trying to do something entirely different that what you are. > If you do not use BUDataStructures, you
2007 Jul 17
0
[LLVMdev] BasicCallGraph patch
On Thu, 12 Jul 2007, Zhongxing Xu wrote: > The current BasicCallGraph will miss call sites like this: > %tmp86 = call i8* (...)* bitcast (i8* ()* @find_ispell to i8* (...)*)( ) > ; <i8*> [#uses=1] > > Here the direct user of @find_ispell is a ConstantExpr. > I added several lines of code to address this case. > Below is the output of command: svn diff
2007 Jul 12
2
[LLVMdev] BasicCallGraph patch
The current BasicCallGraph will miss call sites like this: %tmp86 = call i8* (...)* bitcast (i8* ()* @find_ispell to i8* (...)*)( ) ; <i8*> [#uses=1] Here the direct user of @find_ispell is a ConstantExpr. I added several lines of code to address this case. Below is the output of command: svn diff lib/Analysis/IPA/CallGraph.cpp Attached is LLVM asm files with such function calls.
2010 Oct 06
2
[LLVMdev] Segmentation Fault of BasicCallGraph?
Hi, I did a little experiment, basically to extract implemented CallGraph to be a "new" pass with different registered name, and run the "new" pass, but the result always gives out Segmentation Fault... I am probably missing sth? Implemented another new class, class BasicCallGraph2 : public ModulePass, public CallGraph { ..... ... } The inside code is exact same as
2007 Jul 17
2
[LLVMdev] BasicCallGraph patch
I am doing inter-procedural static analysis, so I need to do DFS of call graph. llvm-gcc sometimes generates this kind of call instruction, which cause the call graph to be incomplete. But thanks for your information, instcombine really solves the problem. On 7/17/07, Chris Lattner <sabre at nondot.org> wrote: > > On Thu, 12 Jul 2007, Zhongxing Xu wrote: > > The current
2010 Oct 07
0
[LLVMdev] Segmentation Fault of BasicCallGraph?
Shuying Liang wrote: > Hi, > > I did a little experiment, basically to extract implemented CallGraph > to be a "new" pass with different registered name, and run the "new" > pass, but the result always gives out Segmentation Fault... I am > probably missing > sth? > > Implemented another new class, > class BasicCallGraph2 : public ModulePass,
2006 Mar 26
0
[LLVMdev] could you give me some advice ?
lizhuo,您好! 不是很明白你的意思,好像你想从一个ConstantExpr::getPtrPtrFromArrayPtr 指针得到这个ConstantExpr 的内容, 但你的困难在哪里? ======= 2006-03-25 22:04:14 您在来信中写道:======= >hi >I have one llvm program like this : >.. >; define ConstantArray >"E1$str" = internal constant [3 x sbyte] c"E1\00" > >; use getPtrPtrFromArrayPtr to define SByte* from ConstantArray
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 >> >
2007 Jul 17
0
[LLVMdev] BasicCallGraph patch
On Tue, 17 Jul 2007, Zhongxing Xu wrote: > I am doing inter-procedural static analysis, so I need to do DFS of call > graph. llvm-gcc sometimes generates this kind of call instruction, which > cause the call graph to be incomplete. > > But thanks for your information, instcombine really solves the problem. Happy to help. You'll probably find that other optimizations help as
2002 Nov 24
4
[LLVMdev] globals in DS graph
I have some questions regarding how globals are represented in DS graph. Specifically, I wrote the following simple program: List *g; void alloc_func(){ g = ( List* ) malloc( sizeof( List ) ); } void free_func(){ free( g ); } int main(){ alloc_func(); free_func(); } I noticed that the DSnode for g in alloc_func is different from that of free_func and NEITHER of them had GlobalNode
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
2006 May 23
2
[LLVMdev] Indirect function call
On Tuesday 23 May 2006 13:34, Chris Lattner wrote: > On Tue, 23 May 2006, Nai Xia wrote: > > Maybe Chris can us give more helpful comments. > > Andrew (and Dinakar, and perhaps others) are the current current > maintainers of DSA. Oh, I'd say sorry to you and Andrew both. I had though you are the maintainer... ... So I am currently thinking that maybe it is not hard to
2015 May 15
2
[LLVMdev] DSA / poolalloc: incorrect callgraph for indirect call
Hello, I am trying to apply DSA (from the poolalloc project - I'm on LLVM 3.2) on the following C program and found that the generated callgraph over-approximates the callees for the simple indirect call. #include <stdio.h> __attribute__((noinline)) static int f1(int arg1, int arg2) { return arg1 + arg2; } __attribute__((noinline)) static int run_func(int (*fptr)(int, int), int
2006 May 23
0
[LLVMdev] Indirect function call
On Tue, 23 May 2006, Nai Xia wrote: > So I am currently thinking that maybe it is not hard to make the > callgraph more accurate in a similar way DSA deals with indirect > callsites. I am just curious about why it is not already in LLVM. I > think identifying the range of an indirect call is a worthwhile job, for > example if we want to track the correctness of a program's
2012 Apr 22
0
[LLVMdev] Remove function from module
Михаил wrote: > It is ModulePass with AnalysisUsage of CallGraph Ah, then you'll need to update the CallGraph first. Use "CG.removeFunctionFromModule(F);" before deleting it. Nick > Yours sincerely, > Kadysev Mikhail > > 22.04.2012, в 5:20, Nick Lewycky написал(а): > >> Михаил wrote: >>> Thanks, but I replaceAllUsesWith() - works well, but I still
2012 Apr 22
2
[LLVMdev] Remove function from module
It is ModulePass with AnalysisUsage of CallGraph Yours sincerely, Kadysev Mikhail 22.04.2012, в 5:20, Nick Lewycky написал(а): > Михаил wrote: >> Thanks, but I replaceAllUsesWith() - works well, but I still get bug in >> eraseFromParent(): >> >> While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi >> An asserting value handle still pointed to this value! >>
2009 Aug 07
0
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
Patrick Alexander Simmons wrote: > Andrew Lenharth wrote: > >> On Fri, Aug 7, 2009 at 4:45 PM, Patrick Alexander >> Simmons<simmon12 at cs.uiuc.edu> wrote: >> >> >>> I'm iterating over all LoadInst and StoreInst-type Instructions in a >>> Function, and getNodeForValue() is sometimes returning NULL. Why is >>> this