1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/syntax/unroll_visit.i (no preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value:initial-state] Values of globals at initialization
tests/syntax/unroll_visit.i:8:[value] assertion got status valid.
tests/syntax/unroll_visit.i:6:[value] entering loop for the first time
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value:final-states] Values at end of function main:
i ∈ {100}
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
These dependencies hold at termination for the executions that terminate:
[from] Function main:
NO EFFECTS
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function main:
i
[inout] Inputs for function main:
\nothing
/* Generated by Frama-C */
void main(void)
{
int i;
i = 0;
if (! (i < 100)) goto unrolling_2_loop;
i --;
/*@ assert i < 100; */ ;
i ++;
i ++;
unrolling_4_loop: ;
if (! (i < 100)) goto unrolling_2_loop;
i --;
/*@ assert i < 100; */ ;
i ++;
i ++;
unrolling_3_loop: ;
/*@ loop pragma UNROLL 2;
loop pragma UNROLL "done", 2; */
while (i < 100) {
i --;
/*@ assert i < 100; */ ;
i ++;
i ++;
}
unrolling_2_loop: ;
return;
}
|