similar to: [LLVMdev] "Best" alias analysis algorithm

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] "Best" alias analysis algorithm"

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
2005 Apr 25
2
[LLVMdev] "Best" alias analysis algorithm
On Mon, 25 Apr 2005, Vladimir Prus wrote: > The GlobalsModRef::getModRefInfo has this logic: > > // If we are asking for mod/ref info of a direct call with a pointer to a > // global we are tracking, return information if we have it. > if (GlobalValue *GV = const_cast<GlobalValue*>(getUnderlyingObject(P))) > if (GV->hasInternalLinkage()) > > So, no
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 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 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
----- 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"
2005 Apr 26
0
[LLVMdev] "Best" alias analysis algorithm
On Monday 25 April 2005 23:40, Chris Lattner wrote: > On Mon, 25 Apr 2005, Vladimir Prus wrote: > > The GlobalsModRef::getModRefInfo has this logic: > > > > // If we are asking for mod/ref info of a direct call with a pointer > > to a // global we are tracking, return information if we have it. > > if (GlobalValue *GV = > >
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 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
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 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
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
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
2009 Nov 06
2
[LLVMdev] Functions: sret and readnone
Hi Stephan, > intrinsic float4 sample(int tex, float2 tc); > > float4 main(int tex, float2 tc) > { > float4 x = sample(tex, tc); > return 0.0; > } without additional information it would be wrong to remove the call to sample because it might write to a global variable. > As you can see, the call to the sample function is still present, > although the actual value
2016 May 10
2
How to extend alias analysis to enable further optimisations?
Hello, We have developed a compiler analysis for multi-threaded codes that identifies functions which do not modify global variables. Furthermore, the analysis checks that accesses performed before the function call, do not target the same location as accesses performed after the call (hence, the variables accessed before and after the call do not alias). We want to integrate this analysis
2012 Jan 03
1
[LLVMdev] AliasAnalysis and memory dependency
i am sorry, i get this error: opt: /home/llvm/src/include/llvm/Support/CallSite.h:87: ValTy* llvm::CallSiteBase<FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy>::getCalledValue() const [with FunTy = const llvm::Function, ValTy = const llvm::Value, UserTy = const llvm::User, InstrTy = const llvm::Instruction, CallTy = const llvm::CallInst, InvokeTy = const llvm::InvokeInst, IterTy =
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
----- Original Message ----- > From: "James Molloy via llvm-dev" <llvm-dev at lists.llvm.org> > To: "Vaivaswatha Nagaraj" <vn at compilertree.com> > Cc: "LLVM Dev" <llvm-dev at lists.llvm.org> > Sent: Thursday, December 3, 2015 4:41:46 AM > Subject: Re: [llvm-dev] Function attributes for LibFunc and its impact on GlobalsAA > >
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
2006 May 15
0
[LLVMdev] Re: __main() function and AliasSet
On Mon, 15 May 2006, Nai Xia wrote: > In other words, if I only use -steens-aa and the data_XXXs are all > external global variables( and so inComplete ), Sounds right! > the call to printf will > make the same effect, which I have tested it. > > Am I right ? :) If you've tested it then, yes you're right :). I haven't played with this stuff for a long time,