Skip to content
Snippets Groups Projects
Commit 612739d8 authored by Tristan Le Gall's avatar Tristan Le Gall
Browse files

update oracles

parent 8c1753cc
No related branches found
No related tags found
No related merge requests found
...@@ -77,31 +77,31 @@ ...@@ -77,31 +77,31 @@
[alias:unsafe-cast] nested1.c:47: Warning: [alias:unsafe-cast] nested1.c:47: Warning:
unsafe cast from st_1_t * to struct struct_1_t * unsafe cast from st_1_t * to struct struct_1_t *
[alias] May-aliases after instruction z1->s = (struct struct_1_t *)tab_y[0]; are [alias] May-aliases after instruction z1->s = (struct struct_1_t *)tab_y[0]; are
{z1->s, tab_y[0]} {z1->s, tab_y[0..]}
[alias] analysing instruction: z2->s = (struct struct_1_t *)tab_y[1]; [alias] analysing instruction: z2->s = (struct struct_1_t *)tab_y[1];
[alias:unsafe-cast] nested1.c:48: Warning: [alias:unsafe-cast] nested1.c:48: Warning:
unsafe cast from st_1_t * to struct struct_1_t * unsafe cast from st_1_t * to struct struct_1_t *
[alias] May-aliases after instruction z2->s = (struct struct_1_t *)tab_y[1]; are [alias] May-aliases after instruction z2->s = (struct struct_1_t *)tab_y[1]; are
{z1->s, z2->s, tab_y[0]} {z1->s, z2->s, tab_y[0..]}
[alias] analysing instruction: z1->c = a; [alias] analysing instruction: z1->c = a;
[alias] May-aliases after instruction z1->c = a; are [alias] May-aliases after instruction z1->c = a; are
{z1->s, z2->s, tab_y[0]} {z1->c, a} {z1->s, z2->s, tab_y[0..]} {z1->c, a}
[alias] analysing instruction: z2->c = b; [alias] analysing instruction: z2->c = b;
[alias] May-aliases after instruction z2->c = b; are [alias] May-aliases after instruction z2->c = b; are
{z1->s, z2->s, tab_y[0]} {z1->c, a} {z2->c, b} {z1->s, z2->s, tab_y[0..]} {z1->c, a} {z2->c, b}
[alias] analysing instruction: t->t = (struct struct_2_t *)z1; [alias] analysing instruction: t->t = (struct struct_2_t *)z1;
[alias:unsafe-cast] nested1.c:51: Warning: [alias:unsafe-cast] nested1.c:51: Warning:
unsafe cast from st_2_t * to struct struct_2_t * unsafe cast from st_2_t * to struct struct_2_t *
[alias] May-aliases after instruction t->t = (struct struct_2_t *)z1; are [alias] May-aliases after instruction t->t = (struct struct_2_t *)z1; are
{z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, a} {z2->c, b} {z1->s, z2->s, tab_y[0..]} {t->t, z1} {z1->c, a} {z2->c, b}
[alias] analysing instruction: t->d = a; [alias] analysing instruction: t->d = a;
[alias] May-aliases after instruction t->d = a; are [alias] May-aliases after instruction t->d = a; are
{z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} {z1->s, z2->s, tab_y[0..]} {t->t, z1} {z1->c, t->d, a} {z2->c, b}
[alias] analysing instruction: __retres = 0; [alias] analysing instruction: __retres = 0;
[alias] May-aliases after instruction __retres = 0; are [alias] May-aliases after instruction __retres = 0; are
{z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} {z1->s, z2->s, tab_y[0..]} {t->t, z1} {z1->c, t->d, a} {z2->c, b}
[alias] May-aliases at the end of function main: [alias] May-aliases at the end of function main:
{z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} {z1->s, z2->s, tab_y[0..]} {t->t, z1} {z1->c, t->d, a} {z2->c, b}
[alias] analysing function: malloc [alias] analysing function: malloc
[alias] May-aliases at the end of function malloc: ⊥ [alias] May-aliases at the end of function malloc: ⊥
[alias] analysing function: mblen [alias] analysing function: mblen
......
...@@ -96,25 +96,25 @@ ...@@ -96,25 +96,25 @@
idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp}
[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t2[0], idata} {x, tmp} {tmp->t2[0..], idata}
[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idx = 0; [alias] analysing instruction: idx = 0;
[alias] May-aliases after instruction idx = 0; are [alias] May-aliases after instruction idx = 0; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] analysing instruction: tmp_1 = sin(*(idata + idx));
[alias] analysing function: sin [alias] analysing function: sin
[alias] May-aliases at the end of function sin: ⊥ [alias] May-aliases at the end of function sin: ⊥
[alias:undefined:fn] example1.c:45: Warning: function sin has no definition [alias:undefined:fn] example1.c:45: Warning: function sin has no definition
[alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are [alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; [alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1;
[alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are [alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idx ++; [alias] analysing instruction: idx ++;
[alias] May-aliases after instruction idx ++; are [alias] May-aliases after instruction idx ++; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: swap(tmp->n1); [alias] analysing instruction: swap(tmp->n1);
[alias] analysing function: swap [alias] analysing function: swap
[alias] analysing instruction: *n = 0; [alias] analysing instruction: *n = 0;
...@@ -123,13 +123,13 @@ ...@@ -123,13 +123,13 @@
[alias] May-aliases after instruction (*n) ++; are <none> [alias] May-aliases after instruction (*n) ++; are <none>
[alias] May-aliases at the end of function swap: <none> [alias] May-aliases at the end of function swap: <none>
[alias] May-aliases after instruction swap(tmp->n1); are [alias] May-aliases after instruction swap(tmp->n1); are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias:no-return] example1.c:29: Warning: [alias:no-return] example1.c:29: Warning:
function f1 does not return; analysis may be unsound function f1 does not return; analysis may be unsound
[alias] May-aliases at the end of function f1: <none> [alias] May-aliases at the end of function f1: <none>
...@@ -142,30 +142,30 @@ ...@@ -142,30 +142,30 @@
idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp}
[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t1[0], idata} {x, tmp} {tmp->t1[0..], idata}
[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idx = 0; [alias] analysing instruction: idx = 0;
[alias] May-aliases after instruction idx = 0; are [alias] May-aliases after instruction idx = 0; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: [alias] analysing instruction:
*(odata + idx) = (double)3 * *(idata + idx) + (double)1; *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
[alias] May-aliases after instruction [alias] May-aliases after instruction
*(odata + idx) = (double)3 * *(idata + idx) + (double)1; are *(odata + idx) = (double)3 * *(idata + idx) + (double)1; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idx ++; [alias] analysing instruction: idx ++;
[alias] May-aliases after instruction idx ++; are [alias] May-aliases after instruction idx ++; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: swap(tmp->n2); [alias] analysing instruction: swap(tmp->n2);
[alias] May-aliases after instruction swap(tmp->n2); are [alias] May-aliases after instruction swap(tmp->n2); are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias:no-return] example1.c:53: Warning: [alias:no-return] example1.c:53: Warning:
function f2 does not return; analysis may be unsound function f2 does not return; analysis may be unsound
[alias] May-aliases at the end of function f2: <none> [alias] May-aliases at the end of function f2: <none>
...@@ -274,36 +274,41 @@ ...@@ -274,36 +274,41 @@
[alias] May-aliases after instruction i = 0; are <none> [alias] May-aliases after instruction i = 0; are <none>
[alias] analysing instruction: b->t1[i] = a->t1[i]; [alias] analysing instruction: b->t1[i] = a->t1[i];
[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are [alias] May-aliases after instruction b->t1[i] = a->t1[i]; are
{a->t1[0], b->t1[0]} {a->t1[0..], b->t1[0..]}
[alias] analysing instruction: b->t2[i] = a->t2[i]; [alias] analysing instruction: b->t2[i] = a->t2[i];
[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are [alias] May-aliases after instruction b->t2[i] = a->t2[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: i ++; [alias] analysing instruction: i ++;
[alias] May-aliases after instruction i ++; are [alias] May-aliases after instruction i ++; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->t1[i] = a->t1[i]; [alias] analysing instruction: b->t1[i] = a->t1[i];
[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are [alias] May-aliases after instruction b->t1[i] = a->t1[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->t2[i] = a->t2[i]; [alias] analysing instruction: b->t2[i] = a->t2[i];
[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are [alias] May-aliases after instruction b->t2[i] = a->t2[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->n1 = a->n1; [alias] analysing instruction: b->n1 = a->n1;
[alias] May-aliases after instruction b->n1 = a->n1; are [alias] May-aliases after instruction b->n1 = a->n1; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
[alias] analysing instruction: b->n2 = a->n2; [alias] analysing instruction: b->n2 = a->n2;
[alias] May-aliases after instruction b->n2 = a->n2; are [alias] May-aliases after instruction b->n2 = a->n2; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: f1(a); [alias] analysing instruction: f1(a);
[alias] May-aliases after instruction f1(a); are [alias] May-aliases after instruction f1(a); are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: f2(b); [alias] analysing instruction: f2(b);
[alias] May-aliases after instruction f2(b); are [alias] May-aliases after instruction f2(b); are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: __retres = 0; [alias] analysing instruction: __retres = 0;
[alias] May-aliases after instruction __retres = 0; are [alias] May-aliases after instruction __retres = 0; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] May-aliases at the end of function main: [alias] May-aliases at the end of function main:
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing function: malloc [alias] analysing function: malloc
[alias] May-aliases at the end of function malloc: ⊥ [alias] May-aliases at the end of function malloc: ⊥
[alias] analysing function: mblen [alias] analysing function: mblen
......
...@@ -98,25 +98,25 @@ ...@@ -98,25 +98,25 @@
[alias] May-aliases after instruction int i = 0; are {x, tmp} [alias] May-aliases after instruction int i = 0; are {x, tmp}
[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t2[0], idata} {x, tmp} {tmp->t2[0..], idata}
[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idx = 0; [alias] analysing instruction: idx = 0;
[alias] May-aliases after instruction idx = 0; are [alias] May-aliases after instruction idx = 0; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] analysing instruction: tmp_1 = sin(*(idata + idx));
[alias] analysing function: sin [alias] analysing function: sin
[alias] May-aliases at the end of function sin: ⊥ [alias] May-aliases at the end of function sin: ⊥
[alias:undefined:fn] example2.c:45: Warning: function sin has no definition [alias:undefined:fn] example2.c:45: Warning: function sin has no definition
[alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are [alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; [alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1;
[alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are [alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idx ++; [alias] analysing instruction: idx ++;
[alias] May-aliases after instruction idx ++; are [alias] May-aliases after instruction idx ++; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: swap(tmp->n1); [alias] analysing instruction: swap(tmp->n1);
[alias] analysing function: swap [alias] analysing function: swap
[alias] analysing instruction: *n = 0; [alias] analysing instruction: *n = 0;
...@@ -125,21 +125,21 @@ ...@@ -125,21 +125,21 @@
[alias] May-aliases after instruction (*n) ++; are <none> [alias] May-aliases after instruction (*n) ++; are <none>
[alias] May-aliases at the end of function swap: <none> [alias] May-aliases at the end of function swap: <none>
[alias] May-aliases after instruction swap(tmp->n1); are [alias] May-aliases after instruction swap(tmp->n1); are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: i ++; [alias] analysing instruction: i ++;
[alias] May-aliases after instruction i ++; are [alias] May-aliases after instruction i ++; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing instruction: __retres = (void *)0; [alias] analysing instruction: __retres = (void *)0;
[alias] May-aliases after instruction __retres = (void *)0; are [alias] May-aliases after instruction __retres = (void *)0; are
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] May-aliases at the end of function f1: [alias] May-aliases at the end of function f1:
{x, tmp} {tmp->t2[0], idata} {tmp->t1[0], odata} {x, tmp} {tmp->t2[0..], idata} {tmp->t1[0..], odata}
[alias] analysing function: f2 [alias] analysing function: f2
[alias] analysing instruction: ty *tmp = x; [alias] analysing instruction: ty *tmp = x;
[alias] May-aliases after instruction ty *tmp = x; are {x, tmp} [alias] May-aliases after instruction ty *tmp = x; are {x, tmp}
...@@ -151,38 +151,38 @@ ...@@ -151,38 +151,38 @@
[alias] May-aliases after instruction int i = 0; are {x, tmp} [alias] May-aliases after instruction int i = 0; are {x, tmp}
[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t1[0], idata} {x, tmp} {tmp->t1[0..], idata}
[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idx = 0; [alias] analysing instruction: idx = 0;
[alias] May-aliases after instruction idx = 0; are [alias] May-aliases after instruction idx = 0; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: [alias] analysing instruction:
*(odata + idx) = (double)3 * *(idata + idx) + (double)1; *(odata + idx) = (double)3 * *(idata + idx) + (double)1;
[alias] May-aliases after instruction [alias] May-aliases after instruction
*(odata + idx) = (double)3 * *(idata + idx) + (double)1; are *(odata + idx) = (double)3 * *(idata + idx) + (double)1; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idx ++; [alias] analysing instruction: idx ++;
[alias] May-aliases after instruction idx ++; are [alias] May-aliases after instruction idx ++; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: swap(tmp->n2); [alias] analysing instruction: swap(tmp->n2);
[alias] May-aliases after instruction swap(tmp->n2); are [alias] May-aliases after instruction swap(tmp->n2); are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: i ++; [alias] analysing instruction: i ++;
[alias] May-aliases after instruction i ++; are [alias] May-aliases after instruction i ++; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)];
[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are [alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)];
[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are [alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing instruction: __retres = (void *)0; [alias] analysing instruction: __retres = (void *)0;
[alias] May-aliases after instruction __retres = (void *)0; are [alias] May-aliases after instruction __retres = (void *)0; are
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] May-aliases at the end of function f2: [alias] May-aliases at the end of function f2:
{x, tmp} {tmp->t1[0], idata} {tmp->t2[0], odata} {x, tmp} {tmp->t1[0..], idata} {tmp->t2[0..], odata}
[alias] analysing function: fabs [alias] analysing function: fabs
[alias] May-aliases at the end of function fabs: ⊥ [alias] May-aliases at the end of function fabs: ⊥
[alias] analysing function: fabsf [alias] analysing function: fabsf
...@@ -288,36 +288,41 @@ ...@@ -288,36 +288,41 @@
[alias] May-aliases after instruction i = 0; are <none> [alias] May-aliases after instruction i = 0; are <none>
[alias] analysing instruction: b->t1[i] = a->t1[i]; [alias] analysing instruction: b->t1[i] = a->t1[i];
[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are [alias] May-aliases after instruction b->t1[i] = a->t1[i]; are
{a->t1[0], b->t1[0]} {a->t1[0..], b->t1[0..]}
[alias] analysing instruction: b->t2[i] = a->t2[i]; [alias] analysing instruction: b->t2[i] = a->t2[i];
[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are [alias] May-aliases after instruction b->t2[i] = a->t2[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: i ++; [alias] analysing instruction: i ++;
[alias] May-aliases after instruction i ++; are [alias] May-aliases after instruction i ++; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->t1[i] = a->t1[i]; [alias] analysing instruction: b->t1[i] = a->t1[i];
[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are [alias] May-aliases after instruction b->t1[i] = a->t1[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->t2[i] = a->t2[i]; [alias] analysing instruction: b->t2[i] = a->t2[i];
[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are [alias] May-aliases after instruction b->t2[i] = a->t2[i]; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]}
[alias] analysing instruction: b->n1 = a->n1; [alias] analysing instruction: b->n1 = a->n1;
[alias] May-aliases after instruction b->n1 = a->n1; are [alias] May-aliases after instruction b->n1 = a->n1; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
[alias] analysing instruction: b->n2 = a->n2; [alias] analysing instruction: b->n2 = a->n2;
[alias] May-aliases after instruction b->n2 = a->n2; are [alias] May-aliases after instruction b->n2 = a->n2; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: f1(a); [alias] analysing instruction: f1(a);
[alias] May-aliases after instruction f1(a); are [alias] May-aliases after instruction f1(a); are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: f2(b); [alias] analysing instruction: f2(b);
[alias] May-aliases after instruction f2(b); are [alias] May-aliases after instruction f2(b); are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing instruction: __retres = 0; [alias] analysing instruction: __retres = 0;
[alias] May-aliases after instruction __retres = 0; are [alias] May-aliases after instruction __retres = 0; are
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] May-aliases at the end of function main: [alias] May-aliases at the end of function main:
{a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} {a->t1[0..], b->t1[0..]} {a->t2[0..], b->t2[0..]} {a->n1, b->n1}
{a->n2, b->n2}
[alias] analysing function: malloc [alias] analysing function: malloc
[alias] May-aliases at the end of function malloc: ⊥ [alias] May-aliases at the end of function malloc: ⊥
[alias] analysing function: mblen [alias] analysing function: mblen
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment