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;
>
> 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
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