From b29d6eac7c8e333d6fbea0ab9b55f59b7d5f9f38 Mon Sep 17 00:00:00 2001 From: Tristan Le Gall <tristan.le-gall@cea.fr> Date: Tue, 14 Feb 2023 17:40:00 +0100 Subject: [PATCH] [alias] modified print function so that leafs are not marked as aliases --- src/plugins/alias/abstract_state.ml | 52 +++++++++---------- .../tests/basic/oracle/assignment1.res.oracle | 5 -- .../tests/basic/oracle/assignment2.res.oracle | 3 -- .../tests/basic/oracle/assignment3.res.oracle | 3 -- .../tests/basic/oracle/assignment4.res.oracle | 3 -- .../alias/tests/basic/oracle/cast1.res.oracle | 7 --- .../basic/oracle/conditional1.res.oracle | 4 -- .../tests/basic/oracle/function1.res.oracle | 10 ---- .../tests/basic/oracle/function3.res.oracle | 14 ----- .../tests/basic/oracle/function4.res.oracle | 3 -- .../tests/basic/oracle/function5.res.oracle | 6 --- .../tests/basic/oracle/switch1.res.oracle | 5 -- .../tests/basic/oracle/switch2.res.oracle | 5 -- .../tests/basic/oracle/while_for2.res.oracle | 7 --- .../tests/basic/oracle/while_for3.res.oracle | 11 ---- .../real_world/oracle/example1.res.oracle | 28 ---------- 16 files changed, 26 insertions(+), 140 deletions(-) diff --git a/src/plugins/alias/abstract_state.ml b/src/plugins/alias/abstract_state.ml index 7aec59328ad..4cd5c110cab 100644 --- a/src/plugins/alias/abstract_state.ml +++ b/src/plugins/alias/abstract_state.ml @@ -106,32 +106,32 @@ let print_debug fmt (x:t) = let print_aliases fmt (x:t) = let iter_vmap v set_lv = if G.mem_vertex x.graph v then - let set_lv = - match G.succ x.graph v with - [] -> LSet.empty - | [_] -> set_lv - | _ -> failwith "this should not happen" - in - let set_pred = ref LSet.empty in - G.iter_pred - (fun v -> set_pred := LSet.union !set_pred (VMap.find v x.vmap)) - x.graph - v; - if LSet.cardinal set_lv + LSet.cardinal !set_pred >= 2 - then - Format.fprintf fmt "{%a%a} are aliased@." - (fun fmt s -> - LSet.iter - (fun lv -> Format.fprintf fmt "%a; " Lval.pretty lv) - s - ) - set_lv - (fun fmt s -> - LSet.iter - (fun lv -> Format.fprintf fmt "*%a; " Lval.pretty lv) - s - ) - !set_pred + match G.succ x.graph v with + [] -> () + | [_] -> + begin + let set_pred = ref LSet.empty in + G.iter_pred + (fun v -> set_pred := LSet.union !set_pred (VMap.find v x.vmap)) + x.graph + v; + if LSet.cardinal set_lv + LSet.cardinal !set_pred >= 2 + then + Format.fprintf fmt "{%a%a} are aliased@." + (fun fmt s -> + LSet.iter + (fun lv -> Format.fprintf fmt "%a; " Lval.pretty lv) + s + ) + set_lv + (fun fmt s -> + LSet.iter + (fun lv -> Format.fprintf fmt "*%a; " Lval.pretty lv) + s + ) + !set_pred + end + | _ -> failwith "this should not happen" in Format.fprintf fmt "@[<hov 2><list of may-alias>@."; VMap.iter iter_vmap x.vmap; diff --git a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle index 6df5e3bb463..9fcdcf745ba 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle @@ -11,7 +11,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; c; d; } are aliased - {*a; *b; *c; *d; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -37,25 +36,21 @@ Before statement a = b; : Before statement b = c; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement a = d; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; c; d; } are aliased -{*a; *b; *c; *d; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; c; d; } are aliased -{*a; *b; *c; *d; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle index 599e2006886..e3cc9e045e0 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle @@ -10,7 +10,6 @@ [alias] ANALYSING __retres = 0; [alias] May-aliases at the end of function main: <list of may-alias> - {*b; *d; } are aliased {a; c; } are aliased {b; d; *a; *c; } are aliased <end of list> @@ -48,14 +47,12 @@ Before statement a = c; : Before statement __retres = 0; : <list of may-alias> -{*b; *d; } are aliased {a; c; } are aliased {b; d; *a; *c; } are aliased <end of list> Before statement return __retres; : <list of may-alias> -{*b; *d; } are aliased {a; c; } are aliased {b; d; *a; *c; } are aliased <end of list> diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle index 909a5696fb8..1ee26eabfac 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle @@ -9,7 +9,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; c; } are aliased - {*a; *c; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -35,13 +34,11 @@ Before statement c = & b; : Before statement __retres = 0; : <list of may-alias> {a; c; } are aliased -{*a; *c; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; c; } are aliased -{*a; *c; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle index 4e349bedc97..1ba58031db9 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle @@ -10,7 +10,6 @@ [alias] ANALYSING __retres = 0; [alias] May-aliases at the end of function main: <list of may-alias> - {*b; *d; } are aliased {b; d; *a; *c; } are aliased <end of list> [alias] Functions done @@ -47,13 +46,11 @@ Before statement b = d; : Before statement __retres = 0; : <list of may-alias> -{*b; *d; } are aliased {b; d; *a; *c; } are aliased <end of list> Before statement return __retres; : <list of may-alias> -{*b; *d; } are aliased {b; d; *a; *c; } are aliased <end of list> diff --git a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle index 43fb5960a70..f4190f4010e 100644 --- a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle @@ -10,9 +10,7 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; c; } are aliased - {*a; *c; } are aliased {b; d; } are aliased - {*b; *d; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -38,23 +36,18 @@ Before statement a = (int *)c; : Before statement d = (float *)b; : <list of may-alias> {a; c; } are aliased -{*a; *c; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; c; } are aliased -{*a; *c; } are aliased {b; d; } are aliased -{*b; *d; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; c; } are aliased -{*a; *c; } are aliased {b; d; } are aliased -{*b; *d; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle index 620ecc8110a..8c4054f5091 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle @@ -10,7 +10,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; c; } are aliased - {*a; *b; *c; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -40,19 +39,16 @@ Before statement a = c; : Before statement *a = 4; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/function1.res.oracle b/src/plugins/alias/tests/basic/oracle/function1.res.oracle index 5b768c382f8..db2f3c1b010 100644 --- a/src/plugins/alias/tests/basic/oracle/function1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function1.res.oracle @@ -14,9 +14,7 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; } are aliased - {*a; *b; } are aliased {c; d; } are aliased - {*c; *d; } are aliased <end of list> [alias] ANALYSING int *z = (int *)0; [alias] Functions done @@ -27,9 +25,7 @@ Before statement int *z = (int *)0; : Before statement return __retres; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased {c; d; } are aliased -{*c; *d; } are aliased <end of list> Before statement int *z = (int *)0; : @@ -43,13 +39,11 @@ Before statement z = x; : Before statement x = y; : <list of may-alias> {x; z; } are aliased -{*x; *z; } are aliased <end of list> Before statement y = z; : <list of may-alias> {x; y; z; } are aliased -{*x; *y; *z; } are aliased <end of list> Before statement int *a = (int *)0; : @@ -75,21 +69,17 @@ Before statement swap(a,b); : Before statement swap(c,d); : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased {c; d; } are aliased -{*c; *d; } are aliased <end of list> Before statement return; : <list of may-alias> {x; y; z; } are aliased -{*x; *y; *z; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/function3.res.oracle b/src/plugins/alias/tests/basic/oracle/function3.res.oracle index e1edc96653c..91d9f8367ce 100644 --- a/src/plugins/alias/tests/basic/oracle/function3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function3.res.oracle @@ -14,15 +14,12 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; } are aliased - {*a; *b; } are aliased {c; d; } are aliased - {*c; *d; } are aliased <end of list> [alias] Functions done Before statement return __retres; : <list of may-alias> {x; y; tmp; } are aliased -{*x; *y; *tmp; } are aliased <end of list> Before statement int *tmp = x; : @@ -36,15 +33,12 @@ Before statement while (1) { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased {c; d; } are aliased -{*c; *d; } are aliased <end of list> Before statement x = y; @@ -52,31 +46,26 @@ Before statement x = y; break; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement x = y; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement y = tmp; : <list of may-alias> {x; y; tmp; } are aliased -{*x; *y; *tmp; } are aliased <end of list> Before statement break; : <list of may-alias> {x; y; tmp; } are aliased -{*x; *y; *tmp; } are aliased <end of list> Before statement __retres = (void *)0; : <list of may-alias> {x; y; tmp; } are aliased -{*x; *y; *tmp; } are aliased <end of list> Before statement int *a = (int *)0; : @@ -102,15 +91,12 @@ Before statement f1(a,b); : Before statement f1(c,d); : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased {c; d; } are aliased -{*c; *d; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/function4.res.oracle b/src/plugins/alias/tests/basic/oracle/function4.res.oracle index 08058c8a44d..930a84a3723 100644 --- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle @@ -9,7 +9,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; } are aliased - {*a; *b; } are aliased <end of list> [alias] Functions done Before statement return x; : @@ -39,13 +38,11 @@ Before statement b = & c; : Before statement __retres = 0; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/function5.res.oracle b/src/plugins/alias/tests/basic/oracle/function5.res.oracle index 66b4e2ee538..1c9711dd000 100644 --- a/src/plugins/alias/tests/basic/oracle/function5.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function5.res.oracle @@ -11,13 +11,11 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; c; } are aliased - {*a; *b; *c; } are aliased <end of list> [alias] Functions done Before statement goto return_label; : <list of may-alias> {x; __retres; } are aliased -{*x; *__retres; } are aliased <end of list> Before statement __retres = y; @@ -32,13 +30,11 @@ Before statement int c = 0; : Before statement goto return_label; : <list of may-alias> {y; __retres; } are aliased -{*y; *__retres; } are aliased <end of list> Before statement return_label: return __retres; : <list of may-alias> {x; y; __retres; } are aliased -{*x; *y; *__retres; } are aliased <end of list> Before statement if (c) { @@ -55,7 +51,6 @@ Before statement if (c) { Before statement return __retres; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> Before statement __retres = x; : @@ -85,7 +80,6 @@ Before statement c = choice(a,b); : Before statement __retres = 0; : <list of may-alias> {a; b; c; } are aliased -{*a; *b; *c; } are aliased <end of list> Before statement __retres = x; diff --git a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle index cab732089eb..6c39cecb009 100644 --- a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle @@ -11,7 +11,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; d; } are aliased - {*a; *b; *d; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -50,7 +49,6 @@ Before statement case 1: a = d; : Before statement break; : <list of may-alias> {a; d; } are aliased -{*a; *d; } are aliased <end of list> Before statement case 2: b = d; : @@ -60,19 +58,16 @@ Before statement case 2: b = d; : Before statement break; : <list of may-alias> {b; d; } are aliased -{*b; *d; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; d; } are aliased -{*a; *b; *d; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; d; } are aliased -{*a; *b; *d; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle index e710b245dc3..8b47ccbacd4 100644 --- a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle @@ -12,7 +12,6 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; c; d; } are aliased - {*a; *b; *c; *d; } are aliased <end of list> [alias] Functions done Before statement int *a = (int *)0; : @@ -52,7 +51,6 @@ Before statement case 1: a = d; : Before statement break; : <list of may-alias> {a; d; } are aliased -{*a; *d; } are aliased <end of list> Before statement case 2: b = d; : @@ -62,7 +60,6 @@ Before statement case 2: b = d; : Before statement break; : <list of may-alias> {b; d; } are aliased -{*b; *d; } are aliased <end of list> Before statement default: c = d; : @@ -72,13 +69,11 @@ Before statement default: c = d; : Before statement __retres = 0; : <list of may-alias> {a; b; c; d; } are aliased -{*a; *b; *c; *d; } are aliased <end of list> Before statement return __retres; : <list of may-alias> {a; b; c; d; } are aliased -{*a; *b; *c; *d; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle index 1b99076a2e2..308ea356dbd 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle @@ -8,13 +8,11 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; } are aliased - {*a; *b; } are aliased <end of list> [alias] Functions done Before statement return __retres; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement int *a = (int *)0; : @@ -48,7 +46,6 @@ Before statement a = b; : Before statement break; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement while (1) { @@ -58,7 +55,6 @@ Before statement while (1) { } : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement break; @@ -66,19 +62,16 @@ Before statement break; break; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement break; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement __retres = 0; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle index 4be25748257..9df743ebd52 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle @@ -12,13 +12,11 @@ [alias] May-aliases at the end of function main: <list of may-alias> {a; b; } are aliased - {*a; *b; } are aliased <end of list> [alias] Functions done Before statement __retres = 0; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement int *a = (int *)0; : @@ -28,7 +26,6 @@ Before statement int *a = (int *)0; : Before statement return __retres; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement int *b = (int *)0; : @@ -63,19 +60,16 @@ Before statement while (i < 10) { } : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement if (! (i < 10)) break; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement break; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement a = b; @@ -83,32 +77,27 @@ Before statement a = b; a = c; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement a = b; goto __Cont; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement a = b; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement goto __Cont; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> Before statement __Cont: i ++; : <list of may-alias> {a; b; } are aliased -{*a; *b; } are aliased <end of list> [alias] Analysis complete diff --git a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle index acffaafc5c3..b35d17149e6 100644 --- a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle +++ b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle @@ -108,7 +108,6 @@ Before statement b->t1[i] = a->t1[i]; : Before statement idx = 0; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement b->t2[i] = a->t2[i]; : @@ -121,7 +120,6 @@ Before statement while (idx < 10) { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement if (*n == 1) *n = 0; else (*n) ++; : @@ -143,7 +141,6 @@ Before statement b->n1 = a->n1; : Before statement if (! (idx < 10)) break; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement *n = 0; : @@ -157,7 +154,6 @@ Before statement b->n2 = a->n2; : Before statement break; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement (*n) ++; : @@ -171,7 +167,6 @@ Before statement f1(a); : Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement f2(b); : @@ -181,7 +176,6 @@ Before statement f2(b); : Before statement *(odata + idx) = (double)3 * *(idata + idx) + (double)1; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement __retres = 0; : @@ -191,7 +185,6 @@ Before statement __retres = 0; : Before statement idx ++; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement ty *tmp = x; : @@ -201,13 +194,11 @@ Before statement ty *tmp = x; : Before statement swap(tmp->n2); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement return; : @@ -230,7 +221,6 @@ Before statement while (1) { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement idata = tmp->t2[*(tmp->n2)]; @@ -247,7 +237,6 @@ Before statement idata = tmp->t2[*(tmp->n2)]; swap(tmp->n1); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a = (ty *)malloc(sizeof(ty)); : @@ -257,7 +246,6 @@ Before statement a = (ty *)malloc(sizeof(ty)); : Before statement idata = tmp->t2[*(tmp->n2)]; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement b = (ty *)malloc(sizeof(ty)); : @@ -267,7 +255,6 @@ Before statement b = (ty *)malloc(sizeof(ty)); : Before statement odata = tmp->t1[*(tmp->n1)]; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement i = 0; : @@ -277,7 +264,6 @@ Before statement i = 0; : Before statement idx = 0; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement while (i < 2) { @@ -298,7 +284,6 @@ Before statement while (idx < 10) { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement return __retres; : @@ -312,7 +297,6 @@ Before statement if (! (i < 2)) break; : Before statement if (! (idx < 10)) break; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement break; : @@ -322,7 +306,6 @@ Before statement break; : Before statement break; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); @@ -337,7 +320,6 @@ Before statement { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); : @@ -348,7 +330,6 @@ Before statement tmp_1 = sin(*(idata + idx)); *(odata + idx) = 0.5 * tmp_1; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); : @@ -358,7 +339,6 @@ Before statement a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)) Before statement tmp_1 = sin(*(idata + idx)); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement i ++; : @@ -368,7 +348,6 @@ Before statement i ++; : Before statement *(odata + idx) = 0.5 * tmp_1; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a->n1 = (int *)malloc(sizeof(int)); : @@ -378,7 +357,6 @@ Before statement a->n1 = (int *)malloc(sizeof(int)); : Before statement idx ++; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement a->n2 = (int *)malloc(sizeof(int)); : @@ -388,7 +366,6 @@ Before statement a->n2 = (int *)malloc(sizeof(int)); : Before statement swap(tmp->n1); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement *(a->n1) = 1; : @@ -418,7 +395,6 @@ Before statement while (i < 2) { Before statement idata = (double *)malloc((unsigned long)10 * sizeof(double)); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement while (1) { @@ -433,7 +409,6 @@ Before statement while (1) { } : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement if (! (i < 2)) break; : @@ -450,7 +425,6 @@ Before statement idata = tmp->t1[*(tmp->n1)]; swap(tmp->n2); : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement break; : @@ -460,7 +434,6 @@ Before statement break; : Before statement idata = tmp->t1[*(tmp->n1)]; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> Before statement b->t1[i] = a->t1[i]; @@ -471,7 +444,6 @@ Before statement b->t1[i] = a->t1[i]; Before statement odata = tmp->t2[*(tmp->n2)]; : <list of may-alias> {x; tmp; } are aliased -{*x; *tmp; } are aliased <end of list> [alias] Analysis complete -- GitLab