1: x = 0; y = 0
↓
2: x < z
|
-----------------------
↓ ↓
3: x = x + 1 4: x = x + 2
| x: [1,1] | x: [2,2]
-----------------------
↓ x: [1,2]
5: y = x + x
↓ y: [2,4]
6: w = buf[y]
1: x = 0; y = 0
↓
2: x < z
|
-----------------------
↓ ↓
3: x = x + 1 4: x = x + 2
| x: [1,1] | x: [2,2]
-----------------------
↓ x: [1,2]
5: y = x + x
↓ y: [2,4]
6: w = buf[y]
B0: y < N -----------------------------
↓ ↓
B1: x = 1 B3: x = 0
↓ RD(x) = {B1, B3} |
B2: y = x + 1 <------------------------
{B1,B3}
/ \
{B1} {B3}
\ /
∅
{B1,B3}
/ \
{B1} {B3}
\ /
∅
E4
/ \
E2 E3
\ /
E1
1: x = 0; y = 0
↓
2: x < z
|
-----------------------
↓ ↓
3: x = x + 1 4: x = x + 2
| x: [1,1] | x: [2,2]
-----------------------
↓ x: [1,2]
5: y = x + x
↓ y: [2,4]
6: w = buf[y]
[1,2]
/ \
[1,1] [2,2]
1: x = 0; y = 0
↓
2: x < z
|
-----------------------
↓ ↓
3: x = x + 1 4: x = x + 2
| x: [1,1] | x: [2,2]
-----------------------
↓ x: [1,2]
5: y = x + x
↓ y: [2,4]
6: w = buf[y]
E4
/ \
E2 E3
\ /
E1
Poset ({∅, {B1}, {B3}, {B1,B3}}, ⊆)
{B1,B3}
/ \
{B1} {B3}
\ /
∅
B0: y < N -----------------------------
↓ ↓
B1: x = 1 B3: x = 0
↓ RD(x) = {B1, B3} |
B2: y = x + 1 <------------------------
{B1,B3}
/ \
{B1} {B3}
\ /
∅
1: a = 5 Iteration 1 Iteration 2 Iteration 3
↓ | n | gen(n) | kill(n) | IN[n] | OUT[n] | IN[n] | OUT[n] | IN[n] | OUT[n] |
2: c = 1 |:---:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|
↓ | 1 | {1} | {5} | ∅ | {1} | ∅ | {1} | ∅ | {1} |
-----> 3: c > a ------------- | 2 | {2} | {4,6} | {1} | {1,2} | {1} | {1,2} | {1} | {1,2} |
| ↓ | | 3 | ∅ | ∅ | {1,2} | {1,2} | {1,2,4} | {1,2,4} | {1,2,4} | {1,2,4} |
| 4: c = c + c ↓ | 4 | {4} | {2,6} | {1,2} | {1,4} | {1,2,4} | {1,4} | {1,2,4} | {1,4} |
|-------| 5: a = c - a | 5 | {5} | {1} | {1,2} | {2,5} | {1,2,4} | {2,4,5} | {1,2,4} | {2,4,5} |
↓ | 6 | {6} | {2,4} | {2,5} | {5,6} | {2,4,5} | {5,6} | {2,4,5} | {5,6} |
6: c = 0