1
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 3 While Loop Iteration 2 B B B 1 1 1 2 2 2 3 3 3 4 4 4 B P B 1 P 1 4 Out(4) = {Def 5} In (1) = {Def 5} B B B B B B 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} 2 2 2 2 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} 3 3 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} 4 4 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

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

  • Upload
    afra

  • View
    25

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: 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