similar to: [LLVMdev] Alias Analysis Semantics

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Alias Analysis Semantics"

2014 Aug 13
2
[LLVMdev] Alias Analysis Semantics
Thanks Daniel! I think you've cleared up some of my misconceptions, but I still am a bit confused about some of the corner cases. Suppose we had something like this std::vector<int> A(100); > int* x,y; > x=&A[0]; > for(int i=0; i<100; i++) { > y=&A[i]; > *y=*x; > x=&A[i+1]; > } > Would the load and store instructions be MustAlias? I
2014 Aug 14
2
[LLVMdev] Alias Analysis Semantics
Hey Daniel, Thanks again for the help. I'm still a bit confused about the interface to the alias analysis. It seems like we are talking about different interfaces. Has it changed from what the documentation says? As far as I can tell, the documentation takes a specific Value*, and no information about which dynamic execution it is talking about. When you say "Right. It's a
2014 Aug 21
2
[LLVMdev] Alias Analysis Semantics
Hi Hal, Thank you for your email, that makes a lot of sense to me. I am working on some tools to use memory profiling to speculatively replace memory loads and stores with value forwarding in hardware implementations. I'd like to compare the profiled data to static alias analysis, so it would be super useful if there was a way to answer the questions about aliasing across backedges that
2014 Aug 21
2
[LLVMdev] Alias Analysis Semantics
Hi Daniel, Sorry for taking so long to respond. I spoke with a colleague more familiar with llvm who thought he could clear up my confusion, but we both came out of the conversation confused. I will try my best to explain the ambiguity. In an DAG, alias queries would be completely unambiguous. Every instruction would only be executed once, and every SSA value really would have a single static
2014 Aug 14
2
[LLVMdev] Alias Analysis Semantics
On Thu, Aug 14, 2014 at 6:37 AM, Daniel Berlin <dberlin at dberlin.org> wrote: > On Wed, Aug 13, 2014 at 8:35 PM, Jeremy Salwen <jeremysalwen at gmail.com> wrote: >> Hey Daniel, >> >> Thanks again for the help. I'm still a bit confused about the interface to >> the alias analysis. It seems like we are talking about different >> interfaces. >
2017 Jul 16
2
PartialAlias: different start addresses
On Sun, Jul 16, 2017 at 2:34 PM, Nuno Lopes <nunoplopes at sapo.pt> wrote: > On Sun, Jul 16, 2017, 12:45 PM Nuno Lopes wrote: >>> >>>> On 07/15/2017 04:51 AM, Nuno Lopes wrote: >>>> >>>>> On 07/14/2017 04:37 PM, Nuno Lopes wrote: >>>>>> >>>>>>> Thank you all for your replies.
2014 Jun 25
2
[LLVMdev] Getting LNT to work with non-bash shell
The attached patch didn't fix it, but when I also changed another == to = a few lines further down it seemed to work. Jeremy On Tue, Jun 24, 2014 at 10:07 PM, Justin Bogner <mail at justinbogner.com> wrote: > Jeremy Salwen <jeremysalwen at gmail.com> writes: > > I followed the LNT quickstart guide > > (http://llvm.org/docs/lnt/quickstart.html) on my debian
2014 Aug 04
3
[LLVMdev] Matching up inlined basic blocks with original basic blocks.
Hello All, I have some data tied to the basic blocks in a function, and after inlining that function, I'd like to recover that data in the inlined version. Is there some way to match up the inlined version of the function with the original basic blocks? Thanks, Jeremy -------------- next part -------------- An HTML attachment was scrubbed... URL:
2019 Feb 11
4
Precise meaning of must alias?
I find myself needing to ask a very basic question. Specifically, what do we expect "must alias" to mean in practice? Consider a simple example: load i64, i64* %p %p.i32 = bitcast i64* %p to i32* load i32, i32* %p.i32 Given two memory locations which describe the two memory accesses of these loads, do we expect that alias analysis returns MustAlias?  That is, when we have two
2014 Jun 12
3
[LLVMdev] Creating and implementing an analysis group out of tree
Hi Eli, Thanks for the link! I'm able to compile a standalone pass outside of the source tree, and I'm obviously ably to compile analysis groups inside the source tree. However, the problem comes when I try to do what the tutorial suggests to create an analysis group outside of the source tree. My understanding is that building out of tree requires different methods to register the
2015 Jan 21
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Updated testcases to have MayAlias/note issues as FIXME. On Tue Jan 20 2015 at 3:54:10 PM Hal Finkel <hfinkel at anl.gov> wrote: > ----- Original Message ----- > > From: "Daniel Berlin" <dberlin at dberlin.org> > > To: "Hal Finkel" <hfinkel at anl.gov> > > Cc: "Jiangning Liu" <Jiangning.Liu at arm.com>, "George
2015 Jan 20
4
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
So, I can make all these testcases work, but it's a little tricky (it involves tracking some things, like GEP byte range, and then checking bases and using getObjectSize, much like BasicAA does). Because i really don't want to put that much "not well tested" code in a bugfix, and honestly, i'm not sure we will catch any cases here that BasicAA does not, i've attached a
2017 Jul 14
2
PartialAlias: different start addresses
Thank you all for your replies. So here seems to be an agreement that the documentation for PartialAlias is incorrect. Daniel: now you got me wondering about MustAlias. This is what the docs say: "The MustAlias response may only be returned if the two memory objects are *guaranteed to always start at exactly the same location*" This statement is regardless of the access sizes. For
2017 Jul 15
2
PartialAlias: different start addresses
> On 07/14/2017 04:37 PM, Nuno Lopes wrote: >> Thank you all for your replies. >> So here seems to be an agreement that the documentation for PartialAlias >> is incorrect. >> >> Daniel: now you got me wondering about MustAlias. This is what the docs >> say: >> "The MustAlias response may only be returned if the two memory objects >> are
2017 Jul 15
2
PartialAlias: different start addresses
On Sat, Jul 15, 2017 at 5:35 AM, Hal Finkel <hfinkel at anl.gov> wrote: > > On 07/15/2017 04:51 AM, Nuno Lopes wrote: > >> On 07/14/2017 04:37 PM, Nuno Lopes wrote: >>> >>>> Thank you all for your replies. >>>> So here seems to be an agreement that the documentation for >>>> PartialAlias is incorrect. >>>>
2017 Jul 16
4
PartialAlias: different start addresses
On Sun, Jul 16, 2017, 12:45 PM Nuno Lopes <nunoplopes at sapo.pt> wrote: > >On 07/15/2017 04:51 AM, Nuno Lopes wrote: > >>> On 07/14/2017 04:37 PM, Nuno Lopes wrote: > >>>> Thank you all for your replies. > >>>> So here seems to be an agreement that the documentation for > >>>> PartialAlias is incorrect. > >>>>
2015 Jan 21
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
On Wed Jan 21 2015 at 12:30:50 PM Hal Finkel <hfinkel at anl.gov> wrote: > ----- Original Message ----- > > From: "Daniel Berlin" <dberlin at dberlin.org> > > To: "Hal Finkel" <hfinkel at anl.gov> > > Cc: "Jiangning Liu" <Jiangning.Liu at arm.com>, "George Burgess IV" < > george.burgess.iv at gmail.com>,
2016 Apr 15
3
(BasicAA) PartialAlias between different fields of a structure, intentional?
Hello all, I observed that BasicAA alias query returns PartialAlias between different fields of a structure. Following is the test program and -print–all-alias-modref-info output: --- ; test.ll target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %"type" = type { [10 x i32], i64 } define void
2014 Jun 09
2
[LLVMdev] Instrumentation based Profiling
Hello all, I'm wondering as to the status of control flow profiling in llvm. From what I can gather there was an old system (using opt -insert-edge-profiling and the like) which was removed in this commit llvm.org/viewvc/llvm-project?view=revision&revision=191835 . The commit message mentions "modern PGO efforts", but I can't find anything in the source tree or
2015 Jan 23
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
> Should we be added an edge from the inttoptr to all other pointer values? Is there a better way? We can add a special "Unknown" StratifiedAttr and query it before anything else, i.e: // in CFLAliasAnalysis::query, as the first potential return if (AttrsA[AttrUnknown] || AttrsB[AttrUnknown]) return MayAlias; The only *potential* issue with this approach would be that in the