search for: globalsmodref

Displaying 20 results from an estimated 115 matches for "globalsmodref".

2012 Jul 31
1
[LLVMdev] how to let memory dependency analysis use globalsmodref
Hi there, I am doing: opt -print-memdeps ./test.bc -analyze -globalsmodref-aa by adding globalsmodref-aa, I am hoping that globalsmodref alias analysis will be used. However, it does not turn out to be so. I found this out by adding some "errs() << " into the source code for that alias analysis. So my question is what should I do to let memory dependency...
2011 Nov 18
2
[LLVMdev] GlobalsModRef
Hi all, I'm implementing an intra-procedural analysis. For correctness, during the analysis of each function I need to know which global variables may be modified by other functions in order to avoid wrong assumptions about those variables. I looked at lib/Analysis/IPA/GlobalsModRef.cpp and it seems that it does what I want. My problem is that I don't know how to use it ;-( I wrote a pass: struct MyPass : public FunctionPass { .... virtual void getAnalysisUsage(AnalysisUsage& AU) const { AU.addRequired<GlobalsModRef>(); ... } ......
2015 Jul 13
2
[LLVMdev] enable globalsmodref-aa by default
Hello I am trying to enable globalsmodref-aa by default. globalmodref-aa is a ModulePass and therefore can be invalidated and need to be rerun. I see globalsmodref-aa is enabled in LTO passmanager by adding the analysis pass explicitly. I wonder whether globalsmodref-aa can be enabled/run based on pass dependencies, i.e. those indicated...
2011 Nov 19
0
[LLVMdev] GlobalsModRef
...e, > I'm implementing an intra-procedural analysis. For correctness, during > the analysis of each function I need to know which global variables > may be modified by other functions in order to avoid wrong assumptions > about those variables. > > I looked at lib/Analysis/IPA/GlobalsModRef.cpp and it seems that it > does what I want. My problem is that I don't know how to use it ;-( > > I wrote a pass: > > struct MyPass : public FunctionPass { > .... > virtual void getAnalysisUsage(AnalysisUsage& AU) const { > AU.addRequired<Gl...
2015 Jul 14
7
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Ok folks, I wrote up the general high-level thoughts I have about stateful AA in a separate thread. But we need to sort out the completely and horribly broken aspects of GlobalsModRef today, and the practical steps forward. This email is totally about the practical stuff. Now, as to why I emailed this group of people and with this subject, the only pass pipeline that includes GlobalsModRef, is the LTO pipeline. So we have significantly less testing here than we do for stuff in...
2005 Apr 25
5
[LLVMdev] "Best" alias analysis algorithm
...> [#uses=1] ret int %tmp.3 UnifiedReturnBlock: ; preds = %entry ret int %p } For each instruction, I call AliasAnalysis::getModRefInfo with the 'i' global variable. I tried different alias analyses -- the default one, --aa-eval, --anders-aa, -steens-aa and -globalsmodref-aa. The 'i' variable is never modified in the program, however, all analyses except for -globalsmodref-aa report that the %tmp.3 = call int %_Z3bari( int %p ) ; <int> [#uses=1] instruction can modify 'i'. I'm somewhat surprised, because it looks like -globalsmo...
2015 Jul 14
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
...t; <hfinkel at anl.gov>, "Justin Bogner" > <mail at justinbogner.com>, "Duncan Exon Smith" <dexonsmith at apple.com>, "Rafael EspĂ­ndola" <rafael.espindola at gmail.com> > Sent: Tuesday, July 14, 2015 12:18:36 AM > Subject: Re: [LLVMdev] GlobalsModRef (and thus LTO) is completely broken > > > > On Jul 13, 2015, at 8:19 PM, Chandler Carruth <chandlerc at gmail.com> > > wrote: > > > > Ok folks, > > > > I wrote up the general high-level thoughts I have about stateful AA > > in a separate thr...
2010 Sep 09
0
[LLVMdev] How to run regression tests for ARM?
...s/CallGraph/2008-09-09-DirectCall.ll -print-callgraph -disable-output |& /bin/grep {Calls function 'callee'} | count 2 couldn't execute "count": no such file or directory Running /mnt/markhor/llvm/test/Analysis/Dominators/dg.exp ... Running /mnt/markhor/llvm/test/Analysis/GlobalsModRef/dg.exp ... FAIL: /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll Failed with posix(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll -globalsmodref-aa -gvn -S | /bin/grep call | count...
2015 Jul 21
6
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Based on function names and structures, this is some version of GCC :) Any way you can post the entire .ll file? Because it's globalsmodref, it's hard to debug without the other functions, since it goes over all the functions to determine address takenness, etc :) On Tue, Jul 21, 2015 at 3:23 PM, Michael Zolotukhin <mzolotukhin at apple.com> wrote: > Hi Chandler, > > We observed some regressions in our regular tes...
2010 Sep 09
0
[LLVMdev] How to run regression tests for ARM?
...s/CallGraph/2008-09-09-DirectCall.ll -print-callgraph -disable-output |& /bin/grep {Calls function 'callee'} | count 2 couldn't execute "count": no such file or directory Running /mnt/markhor/llvm/test/Analysis/Dominators/dg.exp ... Running /mnt/markhor/llvm/test/Analysis/GlobalsModRef/dg.exp ... FAIL: /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll Failed with posix(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll -globalsmodref-aa -gvn -S | /bin/grep call | count...
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
...ally from trunk. Those should help give an accurate picture. > > > *From:* Chandler Carruth [mailto:chandlerc at gmail.com] > *Sent:* 17 July 2015 16:10 > > > *To:* Evgeny Astigeevich; Chandler Carruth > *Cc:* LLVM Developers Mailing List > > *Subject:* Re: [LLVMdev] GlobalsModRef (and thus LTO) is completely broken > > > > Can you say what Benchmark or give a test case so we understand the nature > of the regression? As Gerolf said, that will be important to understand > what is best to do. > > > > On Fri, Jul 17, 2015, 06:43 Evgeny Astigeevich...
2010 Sep 09
3
[LLVMdev] How to run regression tests for ARM?
...s/CallGraph/2008-09-09-DirectCall.ll -print-callgraph -disable-output |& /bin/grep {Calls function 'callee'} | count 2 couldn't execute "count": no such file or directory Running /mnt/markhor/llvm/test/Analysis/Dominators/dg.exp ... Running /mnt/markhor/llvm/test/Analysis/GlobalsModRef/dg.exp ... FAIL: /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll Failed with posix(ENOENT,no such file or directory) at line 1 while running: opt < /mnt/markhor/llvm/test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll -globalsmodref-aa -gvn -S | /bin/grep call | count...
2015 Jul 01
4
[LLVMdev] AliasAnalysis update interface - a tale of sorrow and woe
...g in instcombine, etc., all seem like they *should* be updating AA, but they aren't.... So, if these update APIs are really important, I'm pretty sure that LLVM is completely broken already... But in fact, almost nothing overrides these APIs. The only pass in tree that uses them at all is GlobalsModRef, which might explain why the world hasn't melted due to us not calling these update routines reliably. So I looked into GlobalsModRef to understand why it is overriding these. It doesn't override copyValue at all. That API point appears to be completely dead. So my first question is: can I...
2009 Apr 18
0
[LLVMdev] GlobalsModRef
Hi, In my pass, I want to use the alias-analysis info provided by "GlobalsModRef". How should I use "getModRefBehavior(...)"-method and "alias(...)", in order to get the best presicion? More precisely, how can I find the required arguments, particularly "PointerAccessInfo", for this methods. And is it a good idea to use "GlobalsModRef&qu...
2015 Aug 06
2
Benchmark GlobalsModRef in non-LTO pass pipeline
Greetings folks! I would like to enable globalsmodref-aa in the non-LTO pass pipeline so that it gets tested more and there are fewer differences between the two. For all of my benchmarks, this is performance neutral, but I'd appreciate others benchmarking this combination to see if they see any benefits or regressions. You can demo this mode eas...
2005 Apr 25
0
[LLVMdev] "Best" alias analysis algorithm
On Monday 25 April 2005 14:43, Vladimir Prus wrote: > The 'i' variable is never modified in the program, however, all analyses > except for -globalsmodref-aa report that the > > %tmp.3 = call int %_Z3bari( int %p ) ; <int> [#uses=1] > > instruction can modify 'i'. I'm somewhat surprised, because it looks like > -globalsmodref-aa is the simplest algorithm. So, why the order algorithms > report possible modific...
2015 Jul 14
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
..., 2015, at 8:19 PM, Chandler Carruth <chandlerc at gmail.com> > wrote: > > > > Ok folks, > > > > I wrote up the general high-level thoughts I have about stateful AA in a > separate thread. But we need to sort out the completely and horribly broken > aspects of GlobalsModRef today, and the practical steps forward. This email > is totally about the practical stuff. > > > > Now, as to why I emailed this group of people and with this subject, the > only pass pipeline that includes GlobalsModRef, is the LTO pipeline. > > Ah, so it is just an LTO ena...
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
...Kind regards, > > Evgeny Astigeevich > > > > *From:* Chandler Carruth [mailto:chandlerc at gmail.com] > *Sent:* 17 July 2015 07:52 > *To:* Evgeny Astigeevich; Chandler Carruth > *Cc:* LLVM Developers Mailing List; Michael Zolotukhin > > > *Subject:* Re: [LLVMdev] GlobalsModRef (and thus LTO) is completely broken > > > > Hey, thanks for benchmarking. > > > > How stable is the 2% regression? > > > > Michael ran some benchmarks with GlobalsModRef completely disabled and the > only differences were in the noise. This was a complete spec...
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
...> Kind regards, > > Evgeny Astigeevich > > > > *From:* Chandler Carruth [mailto:chandlerc at gmail.com] > *Sent:* 17 July 2015 07:52 > *To:* Evgeny Astigeevich; Chandler Carruth > *Cc:* LLVM Developers Mailing List; Michael Zolotukhin > > *Subject:* Re: [LLVMdev] GlobalsModRef (and thus LTO) is completely broken > > > > Hey, thanks for benchmarking. > > > > How stable is the 2% regression? > > > > Michael ran some benchmarks with GlobalsModRef completely disabled and the > only differences were in the noise. This was a complete spec...
2012 Jan 03
0
[LLVMdev] Comparison of Alias Analysis in LLVM
...lot of opportunities for optimizing calls. So, > I looked into the thesis for understanding how those inter-procedural > aa and other aa contribute. I guess basicaa has a better speed-up per > compiling-cost ratio for most common programs than others. Is this > correct? We do also use globalsmodref, and have a pass for inferring and propagating the readnone/readonly markers. We also now have Type Based Alias Analysis for C languages. No one has really been pushing forward aliasing much lately. -Chris