search for: mayalia

Displaying 20 results from an estimated 210 matches for "mayalia".

Did you mean: mayalias
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
...; NoAlias: i32** %b_addr, i32** %c_addr > NoAlias: i32* %a, i32* %i > NoAlias: i32* %b, i32* %i > NoAlias: i32* %c, i32* %i > NoAlias: i32* %i, i32** %a_addr > NoAlias: i32* %i, i32** %b_addr > NoAlias: i32* %i, i32** %c_addr > MayAlias: i32* %0, i32* %a > MayAlias: i32* %0, i32* %b > MayAlias: i32* %0, i32* %c > NoAlias: i32* %0, i32** %a_addr > NoAlias: i32* %0, i32** %b_addr > NoAlias: i32* %0, i32** %c_addr > NoAlias: i32* %0, i32* %i > MayAlias: i32* %3,...
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
...s: i32** %a_addr, i32** %c_addr NoAlias: i32** %b_addr, i32** %c_addr NoAlias: i32* %a, i32* %i NoAlias: i32* %b, i32* %i NoAlias: i32* %c, i32* %i NoAlias: i32* %i, i32** %a_addr NoAlias: i32* %i, i32** %b_addr NoAlias: i32* %i, i32** %c_addr MayAlias: i32* %0, i32* %a MayAlias: i32* %0, i32* %b MayAlias: i32* %0, i32* %c NoAlias: i32* %0, i32** %a_addr NoAlias: i32* %0, i32** %b_addr NoAlias: i32* %0, i32** %c_addr NoAlias: i32* %0, i32* %i MayAlias: i32* %3, i32* %a MayAlias: i32* %3, i3...
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
...2** %c_addr > > NoAlias: i32* %a, i32* %i > > NoAlias: i32* %b, i32* %i > > NoAlias: i32* %c, i32* %i > > NoAlias: i32* %i, i32** %a_addr > > NoAlias: i32* %i, i32** %b_addr > > NoAlias: i32* %i, i32** %c_addr > > MayAlias: i32* %0, i32* %a > > MayAlias: i32* %0, i32* %b > > MayAlias: i32* %0, i32* %c > > NoAlias: i32* %0, i32** %a_addr > > NoAlias: i32* %0, i32** %b_addr > > NoAlias: i32* %0, i32** %c_addr > > NoAlias: i32* %0, i32* %i...
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
Can you give an example? And is this limited to C (not C++) only? On Fri, Sep 21, 2012 at 2:52 PM, Liu, Yaxun (Sam) <Yaxun.Liu at amd.com> wrote: > I think you may add restrict type qualifier.**** > > ** ** > > Sam**** > > ** ** > > *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On > Behalf Of *Welson Sun > *Sent:* Friday,
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
...; preds = %bb1 br label %return return: ; preds = %bb2 ret void } Now run: opt -basicaa -aa-eval -print-all-alias-modref-info < foo.s > /dev/null, you get this: Function: _Z3fooPiS_S_: 13 pointers, 0 call sites MayAlias: i32* %a, i32* %b MayAlias: i32* %a, i32* %c MayAlias: i32* %b, i32* %c NoAlias: i32* %a, i32** %a_addr NoAlias: i32* %b, i32** %a_addr NoAlias: i32* %c, i32** %a_addr NoAlias: i32* %a, i32** %b_addr NoAlias: i32* %b, i32** %b_addr NoAlias:...
2016 Nov 17
2
Possible MemCpyOpt bug?
...tly? The goal is to make: - load may-alias store1 - load may-alias store2 - store2 may-alias store3 `-print-may-aliases` seems confirm this: opt -disable-output -basicaa -scoped-noalias -aa-eval -evaluate-aa-metadata -print-may-aliases ohgod.ll Function: f: 4 pointers, 0 call sites MayAlias: %T* %a, %T* %b MayAlias: %T* %a, %T* %c MayAlias: %T* %b, %T* %c MayAlias: %T* %a, %T* %d MayAlias: %T* %b, %T* %d MayAlias: %T* %c, %T* %d MayAlias: %val = load %T, %T* %a, !alias.scope !0 <-> store %T { i32 23, i32 23 }, %T*...
2009 Jun 30
2
[LLVMdev] Limitations of Alias Analysis?
...nounwind %4 = bitcast %struct.Location* %1 to i8* ; <i8*> [#uses=1] call void @free(i8* %4) nounwind %5 = bitcast %struct.Location* %2 to i8* ; <i8*> [#uses=1] call void @free(i8* %5) nounwind br label %return return: ; preds = %entry ret i32 0 } The result of -aa-eval: MayAlias: %struct.Location* %0, %struct.Location* %1 MayAlias: %struct.Location* %0, %struct.Location* %2 MayAlias: %struct.Location* %1, %struct.Location* %2 Even when I add the AA option "-ds-aa -anders-aa", the result keeps unchanged. en, I don't know if I miss some steps or the me...
2010 Feb 15
3
[LLVMdev] A very basic doubt about LLVM Alias Analysis
Hi, Using this option I do get all the vars as may alias ie MayAlias: i32* %j.0, i32* %k MayAlias: i32* %i.0, i32* %k MayAlias: i32* %i.0, i32* %j.0 Is there any other analysis which will give them as must aliases. Actually what I want to do is implement a flow sensitive points-to(not alias) analysis and then use that information for some optimizations...
2009 May 14
2
[LLVMdev] alias analysis results
...o get bc. I tried the following 2 ways to get what I expect to get as "alias-sets": 1. opt -aa-eval -print-all-alias-modref-info test4.bc Function: test: 4 pointers, 0 call sites NoAlias: i32* %aa, i32** %kk NoAlias: i32* %aa, i32** %jj NoAlias: i32** %jj, i32** %kk MayAlias: i32* %0, i32* %aa MayAlias: i32* %0, i32** %kk MayAlias: i32* %0, i32** %jj Function: main: 2 pointers, 1 call sites NoAlias: i32* %0, i32* %retval NoModRef: Ptr: i32* %retval <-> call void @test() nounwind NoModRef: Ptr: i32* %0 <-> call vo...
2020 Mar 18
2
valid BasicAA behavior?
...if we know all the array elements that are accessed. Unfortunately it is also difficult, e.g. because the access range depends on `n`, ie is non-constant. The AA interface doesn't even allow querying for non-constant sizes. > How do you guys feel about setting the initial cached result as MayAlias instead of NoAlias if the query is performed for UnknownSize? > > If during alias query recursion we hit the same phi query again, we will return a conservative ‘MayAlias’ knowing that we have hit a cycle (loop). Since aliasPHI looks for any incoming value contradicting the NoAlias assumpti...
2010 Nov 14
0
[LLVMdev] noalias locals
... f.a = 1; >>  Foo *p = new (&f) Foo(2); >>  // what does p->a contain?  1 or 2? >> } >> >> There's a lot of problems with this example, but I don't know enough >> optimizer details to construct a better one. >> >> Can you get by with a MayAlias?  It seems like you can divirtualize >> everything that MustAlias and ignore the rest. > > I see what you mean.  If the placement new result mayalias its > original pointer, we can hold both vptrs invariant and have everything > else reloaded from memory as appropriate.  Now if t...
2010 Nov 14
2
[LLVMdev] noalias locals
...t main(void) { >  Foo f; >  f.a = 1; >  Foo *p = new (&f) Foo(2); >  // what does p->a contain?  1 or 2? > } > > There's a lot of problems with this example, but I don't know enough > optimizer details to construct a better one. > > Can you get by with a MayAlias?  It seems like you can divirtualize > everything that MustAlias and ignore the rest. I see what you mean. If the placement new result mayalias its original pointer, we can hold both vptrs invariant and have everything else reloaded from memory as appropriate. Now if the placement-new is kno...
2015 Jan 23
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...one thinks i should shoehorn it into the existing patch. On Fri Jan 23 2015 at 12:52:02 PM Ana Pazos <apazos at codeaurora.org> wrote: > Hi Daniel, > > > > There are correctness issues with the latest patch (from Wed 1/21/2015 > 11:10 AM with “Updated testcases to have MayAlias/note issues as FIXME”). > > > > I looked at one of the failures and it has to do with disambiguating array > indexes. > > > > With CFL AA enabled, LICM promotion is sinking stores outside of the loop > incorrectly. If I disable LICM promotion, the tests pass. > &g...
2010 Feb 14
4
[LLVMdev] A very basic doubt about LLVM Alias Analysis
...%0, i32** %j NoAlias: i32* %0, i32** %i NoAlias: i32* %2, i32* %retval NoAlias: i32* %2, i32** %j NoAlias: i32* %2, i32** %i NoAlias: i32* %0, i32* %2 NoAlias: i32* %4, i32* %retval NoAlias: i32* %4, i32** %j NoAlias: i32* %4, i32** %i NoAlias: i32* %0, i32* %4 MayAlias: i32* %2, i32* %4 NoAlias: i32* %k, i32* %retval NoAlias: i32* %k, i32** %j NoAlias: i32* %k, i32** %i NoAlias: i32* %0, i32* %k MayAlias: i32* %2, i32* %k MayAlias: i32* %4, i32* %k NoAlias: i32* %retval, i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0)...
2015 Jan 24
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...azos < apazos at codeaurora.org > > > wrote: > > > > > > > > > > > > > > Hi Daniel, > > > > > > > > There are correctness issues with the latest patch (from Wed > > 1/21/2015 11:10 AM with “Updated testcases to have MayAlias/note > > issues as FIXME”). > > > > > > > > I looked at one of the failures and it has to do with disambiguating > > array indexes. > > > > > > > > With CFL AA enabled, LICM promotion is sinking stores outside of the > > loop incorr...
2015 Jan 23
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...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 >> following code segment: >> >> void fn() { >> int *foo = (int*)rand(); >> int *bar = new int; >> int **baz = rand() ? &foo : &bar; >> int value = **baz;...
2009 May 29
1
[LLVMdev] difference between alias set tracker and alias analysis evaluator
...t[0x2ce5910,1] must alias, Mod Pointers: (i8* %10, 1) AliasSet[0x2ce5820,1] must alias, Mod/Ref Pointers: (i32* %0, 4) AliasSet[0x2ce4f00,1] must alias, Mod/Ref Pointers: (i32* %retval, 4) the alias analysis evaluator gives the following results (i removed all the NoAlias results) MayAlias: [5 x i32]* %a, i32* %1 MayAlias: %struct..0anon* %sym, i32* %4 MayAlias: [5 x i32]* %a, i32* %5 MayAlias: [5 x i32]* %a, i32* %6 MustAlias: i32* %5, i32* %6 MustAlias: %struct..0anon* %sym, [10 x i8]* %9 MayAlias: %struct..0anon* %sym, i8* %10 MayAlias: [10 x...
2009 Jun 30
0
[LLVMdev] Limitations of Alias Analysis?
On Mon, Jun 29, 2009 at 7:40 PM, Wenzhi Tao<linus_wind at zju.edu.cn> wrote: >   The result of -aa-eval: > >  MayAlias:     %struct.Location* %0, %struct.Location* %1 >  MayAlias:     %struct.Location* %0, %struct.Location* %2 >  MayAlias:     %struct.Location* %1, %struct.Location* %2 I'm getting NoAlias with the given steps; are you using trunk LLVM? -Eli
2019 Nov 06
2
Alias analysis only throwing mayAlias for something that seems should be identifiable as mustAlias
...see, the GEPInst exactly knows it is the ARRAY0, and it knows statically that it is accessing the 7th element. However, when I try to call alias analysis in the LLVM pass, as in AliasAnalysis *AA = ... AA->alias(a, b) where a is the ARRAY0 global variable and b is the GEPInst (%45), I only get mayAlias. When reading the basicaa description, it seems like it should know that the two is must alias. What am I missing? I did not know how I should post code in the thread, so I apologize for the messy format. Thank you, Best Regards, Kiwan -------------- next part -------------- An HTML attachment wa...
2009 May 15
1
[LLVMdev] alias analysis results
...ses=1] store i32 400, i32* %2, align 4 br label %return return: ; preds = %entry ret void } the andersens-aa gives out the following results: Function: test: 6 pointers, 0 call sites NoAlias: i32* %aa, i32** %kk NoAlias: i32* %aa, i32** %jj NoAlias: i32** %jj, i32** %kk MayAlias: i32* %0, i32* %aa NoAlias: i32* %0, i32** %kk NoAlias: i32* %0, i32** %jj MayAlias: i32* %1, i32* %aa NoAlias: i32* %1, i32** %kk NoAlias: i32* %1, i32** %jj MayAlias: i32* %0, i32* %1 MayAlias: i32* %2, i32* %aa NoAlias: i32* %2, i32** %kk...