In = Φ Out = {Def 1, Def 2}

Post on 06-Jan-2016

25 views 0 download

description

FOR Each Block B, DO ENDFOR. B. 1. 2. 3. 4. B. In ( ) = Φ Out ( ) = Gen ( ). 2. 3. B. 4. B. B. 2. 4. 3. B. 1. 1. Block 1. Def 1: A ≥ 1 Def 2: B ≥ 1. WHILE There are changes DO ENDWHILE. FOR Each Block B DO ENDFOR. - PowerPoint PPT Presentation

Transcript of In = Φ Out = {Def 1, Def 2}

1

2

4

3

In = ΦOut = {Def 1, Def 2}In = ΦOut = {Def 3}In = ΦOut = {Def 4}In = ΦOut = {Def 5}

In = {Def 5}Out = {Def 1, Def 2}In = {Def 1, Def 2}Out = {Def 2, Def 3}In = {Def 1, Def 2, Def 3}Out = {Def 1, Def 4, Def 5}In = {All}Out = {Def 2, Def 4, Def 5}

In = {Def 2, Def 4, Def 5}Out = {Def 1, Def 2}In = {Def 1, Def 2}Out = {Def 2, Def 3}In = {Def 1, Def 2, Def 4, Def 5}Out = {Def 1, Def 4, Def 5}In = {All}Out = {Def 2, Def 4 , Def 5}

In = {Def 2, Def 4, Def 5}Out = {Def 1, Def 2}In = {Def 1, Def 2}Out = {Def 2, Def 3}In = {Def 1, Def 2, Def 4, Def 5}Out = {Def 1, Def 4, Def 5}In = {All}Out = {Def 2, Def 4 , Def 5}

FOR Each Block B, DO

ENDFOR

In ( ) = ΦOut ( ) = Gen ( )

WHILE There are changes DO

ENDWHILE

FOR Each Block B DO

ENDFOR

In ( ) = Out ( )

Out ( ) = (In( ) – Kill ( ))

Gen ( )

P Pred ( )

Def 1: A ≥ 1 Def 2: B ≥ 1

Def 3: A := 1 Def 4: B := 1

Def 5: A ≥ 1

Block 1

Block 2 Block 3

Block 4

For Loop While Loop Iteration 1 While Loop Iteration 3While Loop Iteration 2

BB B

1

1 1

22 2

33 3

44 4

B PB

1 P1

4

Out(4) = {Def 5}In (1) = {Def 5}

B BB

B

BB B

1 1 1

1

In(1) = {Def 5}

Kill(1) = {Def 3, Def 4, Def 5}In (1) – Kill (1) = { }

{ } Gen (1) =

{ } {Def 1, Def 2} = {Def 1, Def 2}

Out (4) = {Def 2, Def 4, Def 5}In (1) = {Def 2, Def 4, Def 5}

In (1) = {Def 2, Def 4, Def 5}

Kill (1) = {Def 3, Def 4, Def 5}In(1) – Kill(1) = {Def 2}{Def 2} Gen (1) =

Def {2} {Def 1, Def 2} = {Def 1, Def 2}

22

22

2

2

1

Out (1) = {Def 1, Def 2}In(2) = {Def 1, Def 2}

In(2) = {Def 1, Def 2}

Kill (2) = {Def 1, Def 5}In(2) – Kill (2) = {Def 2}

{Def 2} Gen (2) =

{Def 2} {Def 3} = {Def 2, Def 3}

33

Out(1) = {Def 1, Def 2}

Out(4) = {Def 5}

1, 4

{Def 1, Def 2} {Def 5}

= {Def 1, Def 2, Def 5}3 3 3

3

In(3) = {Def 1, Def 2, Def 5}

Kill(3) = {Def 2}In(2) – Kill(2) = {Def 1, Def 3}

{Def 1, Def 5} Gen(3) = {Def 1, Def 5} {Def 4} = {Def 1, Def 4, Def 5}

Out(1) = {Def 1, Def 2}

Out(4) = {Def 2, Def 4, Def 5}

Out(1) Out(4) =

{Def 1, Def 2, Def 4, Def 5}

In(3) = {Def 1, Def 2, Def 4, Def 5}

Kill (3) = {Def 2}

In(1) – Kill (1) =

{Def 1, Def 4, Def 5}

{Def 1, Def 4, Def 5} Gen(3) =

{Def 1, Def 4, Def 5} {Def 4}Out(3) = {Def 1, Def 4, Def 5}

44

4 4 4

4

2, 3

Out(2) = {Def 2, Def 3}

Out(3) = {Def 1, Def 4, Def 5}

{Def 2, Def 3} {Def 1, Def 4, Def 5} = {Def 1, Def 2, Def 3, Def 4, Def 5}

In(4) = {ALL}

Kill(4) = {Def 1, Def 3}

In(4) – Kill(4) =

{Def 2, Def 4, Def 5}Out (4) = {Def 2, Def 4, Def 5}Changes? Go through again

{Def 1, Def 4, Def 5} Gen(4) =

{Def 1, Def 4, Def 5} No Change. Stop