Re: Enable nonoverallping_component_refs even after the base pointers are equivalent

2019-07-05 Thread Richard Biener
On Thu, Jul 4, 2019 at 2:47 PM Jan Hubicka wrote: > > > > > Why does this only happen in fre3?! > After fre1 we have > > test (int i, int j, int k, int l) > { > struct c * cptr.0_1; > struct c * cptr2.1_2; > int _11; > >: > cptr.0_1 = cptr; > cptr.0_1->b[i_5(D)].a[j_6(D)].val = 123;

Re: Enable nonoverallping_component_refs even after the base pointers are equivalent

2019-07-04 Thread Jan Hubicka
> > Why does this only happen in fre3?! After fre1 we have test (int i, int j, int k, int l) { struct c * cptr.0_1; struct c * cptr2.1_2; int _11; : cptr.0_1 = cptr; cptr.0_1->b[i_5(D)].a[j_6(D)].val = 123; cptr2.1_2 = cptr2; cptr2.1_2->b[k_8(D)].a2[l_9(D)].val = 2; _11 = cpt

Re: Enable nonoverallping_component_refs even after the base pointers are equivalent

2019-07-03 Thread Richard Biener
On Tue, 2 Jul 2019, Jan Hubicka wrote: > Hi, > this patch adds the shortcut for must aliases discussed earlier and enables > access path even if bases are proved to be equivalent - it could still do > useful job for arrays etc. > > tramp3d stats go from: > > Alias oracle query stats: > refs_ma