Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] enable globalsmodref-aa by default"
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Before the fix, the compiler may simply return 'noalias' for cases it can
not really prove to be noalias, but actually correct by luck (or even wrong
noalias, but does not result in miscompile). It would be useful to find out
the set of missed noalias queries from GlobalModRef with your benchmark and
examine if there is some improvement can be done.
David
On Fri, Jul 17, 2015 at 6:32
2015 Apr 10
2
[LLVMdev] LLVM Alias Analysis
Hi Xin,
Thank you for your reply!
I have tried the 3 alias analyses you have mentioned on LLVM 3.5:
1) $ opt -globalsmodref-aa -aa-eval < xxx.bc > /dev/null
(May-alias response 100%)
2) $ opt -tbaa -aa-eval < xxx.bc > /dev/null
(May-alias response 100%)
3) $ opt -cfl-aa -aa-eval < xxx.bc> /dev/null
(Unknown command line argument '-cfl-aa')
It seems that they are not
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 analysis use
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
2011 Nov 19
0
[LLVMdev] GlobalsModRef
Hi Jorge,
> 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
2015 Apr 25
3
[LLVMdev] alias analysis on llvm internal globals
Hi
I have this program in which fooBuf can only take on NULL or the
address of local_fooBuf, and fooBuf and local_fooBuf have scope of the
foo function.
Therefore there is no way for the fooPtr argument to alias with
fooBuf. However, LLVM basicaa and globalsmodref-aa say the 2 pointers
may alias.
I am thinking whether i should implement a limited form of point-to
alias on the fooBuf pointer in
2015 Jul 17
3
[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 spec2k6 run along
with some others. Based on the number of benchmarks run there, I'm going to
go ahead and submit these patches, but if you can clarify the impact here,
we can look at potentially some
2013 Oct 30
2
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
>> 2) is just for being pedantic :-)
>>
>> One might otherwise argue in this snippet, x apparently does not have
>> its addr taken,
>> however, it's illegal to say that "x" and "*p" don't alias.
> Wait, really? I thought that "volatile static int x" just meant that the value of x was volatile; not that 'x' might
2015 Jul 14
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
----- Original Message -----
> From: "Chris Lattner" <clattner at apple.com>
> To: "Chandler Carruth" <chandlerc at gmail.com>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>, "Hal Finkel" <hfinkel at anl.gov>, "Justin Bogner"
> <mail at justinbogner.com>, "Duncan Exon Smith"
2015 Apr 08
2
[LLVMdev] LLVM Alias Analysis
Dear all,
I was wondering if there are some reliable alias analyses build on top of
LLVM other than basicaa.
Thank you!
Zhiyuan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150407/db07dba3/attachment.html>
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
2015 Jul 14
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
On Mon, Jul 13, 2015 at 10:21 PM Chris Lattner <clattner at apple.com> wrote:
>
> > 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 thread. But we need to sort out the completely and horribly broken
>
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 easily: -mllvm -enable-non-lto-gmr
Please let me
2015 Jul 17
2
[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 <Evgeny.Astigeevich at arm.com>
wrote:
> Yes, the regression is stable. I double checked this. A full benchmark
> run consists of at least 10 sub-runs to validate the
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
On Fri, Jul 17, 2015 at 9:13 AM Evgeny Astigeevich <
evgeny.astigeevich at arm.com> wrote:
> It’s Dhrystone.
>
Dhrystone has historically not been a good indicator of real-world
performance fluctuations, especially at this small of a shift.
I'd like to see if we see any fluctuation on larger and more realistic
application benchmarks. One advantage of the flag being set is that we
2015 Jul 15
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Hi Chandler,
I would like to run some benchmarks on ARM hardware and to look at impact of your patches on LTO.
Kind regards,
Evgeny Astigeevich
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Chandler Carruth
Sent: 15 July 2015 10:45
To: Chandler Carruth; Gerolf Hoflehner
Cc: LLVM Developers Mailing List
Subject: Re: [LLVMdev] GlobalsModRef
2012 Jan 04
2
[LLVMdev] Comparison of Alias Analysis in LLVM
On Tue, Jan 3, 2012 at 4:55 PM, Chris Lattner <clattner at apple.com> wrote:
> On Jan 3, 2012, at 1:53 PM, Jianzhou Zhao wrote:
>> I see. I asked the question because LLVM provides several alias
>> analysis, and I was wondering how to decide which one should be used
>> for compiling most programs.
>>
>> I think the basicaa is the default one, but by looking
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
On Oct 29, 2013, at 7:11 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
>> Also, as a general note, I don't see why any of this should be LTO-specific. For variables with local (internal) linkage, we can do the analysis on a per-module basis, and I don't understand why we currently don't.
>>
>> Thanks again,
>> Hal
>>
>>
> You can
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
2015 Jul 15
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Replying here, but several of the questions raised boil down to "couldn't
you make the usage of GetUnderlyingObject conservatively correct?". I'll
try and address that.
I think this *is* the right approach, but I think it is very hard to do
without effectively disabling this part of GlobalsModRef. That is, the easy
ways are likely to fire very frequently IMO.
The core idea is