Displaying 20 results from an estimated 500 matches similar to: "[LLVMdev] BasicCallGraph patch"
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 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
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
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
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,
2017 Jul 24
2
LazyValueInfo vs ScalarEvolution
Hi,
Both LazyValueInfo and ScalarEvolution can calculate a constant range for
an LLVM Value.
I found that some times they do not agree, may be I interpreted them
incorrectly
For example in the following IR:
bb85: ; preds = %bb85, %bb73
%tmp86 = phi i32 [ 1, %bb73 ], [ %tmp95, %bb85 ]
%tmp95 = add nsw i32 %tmp86, 1
%tmp96 = icmp slt i32 %tmp95,
2007 Jul 17
2
[LLVMdev] BasicCallGraph patch
> Happy to help. You'll probably find that other optimizations help as
> well, such as simplifycfg (which deletes dead blocks).
Thank you. I am using it.
Depending on what
> you are doing, using the LLVM IR can be tricky for this sort of stuff
> because it can get too far from the source level.
>
Yes, it is really a problem. Now I am using my eyes to map the LLVM IR back
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 !=
2011 Mar 29
2
[LLVMdev] Anomaly with CallGraph construction
Hi all,
I have been trying to build a loop nesting analysis which works interprocedurally. In order
to find the functions called inside a given loop, I am traversing the Instructions into the
BasicBlock's that conform a Loop, and applying the code that CallGraph construction uses:
------ extract from CallGraph.cpp : 144
// Look for calls by this function.
for (Function::iterator BB =
2019 Dec 26
2
[RFC] Coroutines passes in the new pass manager
Hello all,
It's been a month since my previous email on the topic, and since then
I've done some initial work on porting the coroutines passes to the
new pass manager. In total there are 6 patches -- that's a lot to
review, so allow me to introduce the changes being made in each of
them.
# What's finished
In these first 6 patches, I focused on lowering coroutine intrinsics
2017 Jul 24
2
LazyValueInfo vs ScalarEvolution
Thanks, maybe we could use ScalarEvolution in LazyValueInfo if it is
available?
On Mon, Jul 24, 2017 at 1:44 PM, John Regehr via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Since they are different static analyses there's no reason to expect them
> to agree, but they should both be conservative. In other words, if you like
> you can compute the intersection of the two
2006 Sep 14
1
Printing problems with samba 3.0.23c and NT4
Hi everyone!
I have upgrade my fileserver from samba2-smbpasswd to samba3.0.23c with LDAP-PDC.
Now i can't print to the printers on that server with NT4. "net use ..." is functional, but if I print to that printer, I get the
error - free translated from german message - "The syntax of the filename, directory name or the disc-label is wrong."
WinXP hasn't that
2006 Sep 14
2
More problems with samba 3.0.23c and NT4
Hi everyone!
I have some trouble with samba 3.0.23 as PDC for NT4 workstations with SP6a.
I have upgraded from samba2.
1. The ntconfig.pol from the netlogon-share does'nt work. I get a prf1.tmp in the User-Profile-Folder and the policy wouldn't mix to
the registry. In the Event-Log I found an entry
"RegLoadKey ist mit dem Fehler 87 f?r C:\WINNT\Profiles\aba\prfD.tmp
2010 Mar 25
0
[LLVMdev] Strange Multiple Inheritance Errors Using LLVM 2.7
On Mar 25, 2010, at 8:18 AM, John Criswell wrote:
> Dear All,
>
> I'm currently upgrading SAFECode to the LLVM 2.7 API. I'm getting some
> strange errors in LLVM Passes that use analysis groups and multiple
> inheritance.
Hey John,
This is almost certainly due to the "eliminate rtti" work. You probably need to implement
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
2005 May 11
3
[LLVMdev] Computing live values
Say I want to find all LLVM Value*-es that a live on exit from a basic block.
What's the best way?
- The 'LiveRange', 'LiveVariables' and 'LiveIntervals' classes seem to be tied
to register allocation.
- The ./lib/Target/SparcV9/LiveVar/FunctionLiveVarInfo.h file seem to provide
what I need, but it's no a public header.
- Volodya
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
2011 Dec 09
1
[LLVMdev] Finding the uses of a global variable
Hi everyone,
I am writing a pass that finds all uses of global variables (my goal is to
find the uses of strings, and strings are defined as global variables). So,
I can iterate over global vars by
for(Module::global_iterator gi = M.global_begin(), gend = M.global_end();
gi != gend; ++gi) ......
But if I use its def-use chain
for(Value::use_iterator i = gi->use_begin(), e = F->use_end; i!=e;
2013 Jan 08
4
[LLVMdev] get ref to parent instruction
Hi all,
How can I get a reference to an instruction if I have a reference to
an operand? For example, let suppose I have a reference to the
ConstantExpr "getelementptr inbounds" in the following instruction:
%4 = getelementptr i32* getelementptr inbounds ([8 x i32]*
@__mem_grid_MOD_nnyp, i32 0, i32 0), i32 %3
then, how can I get a reference to the GetElementPtrInst object?
The
2005 May 11
1
[LLVMdev] Computing live values
On Wed, 11 May 2005, Alkis Evlogimenos wrote:
> On Wed, 2005-05-11 at 13:17 -0500, Chris Lattner wrote:
>> On Wed, 11 May 2005, Vladimir Prus wrote:
>>> Say I want to find all LLVM Value*-es that a live on exit from a basic block.
>>> What's the best way?
>>>
>>> - The 'LiveRange', 'LiveVariables' and 'LiveIntervals' classes