Download presentation

Presentation is loading. Please wait.

Published byMicah Ringwood Modified over 2 years ago

1
1 CS 201 Compiler Construction Lecture Interprocedural Data Flow Analysis

2
2 Intraprocedural Analysis Individual procedures are analyzed in isolation; worst-case assumpltion are made while processing call sites. Example: X = 3; P(); … = X Does definiton X=3 reach this point? Yes Is X a constant? No We assume that P() does not kill any definition for reaching definitions analysis and we assume P() kills all constants that reach the call P().

3
Interprocedural Analysis By considering interactions between calling and called procedures, analyze the whole program. Challenges Scoping Rules Aliasing due to reference parameters Procedure P (f1,f2) f1 = … f2 = … …. = f1 where if f1 defined ? f1 =… what about call P(X,X)?

4
Interprocedural Analysis Challenges contd… Calling Context – cannot represent call-return using simple control flow edges. Invalid paths are created by simple control flow edges causing definition of X at statement 1 to reach use of X at statement 4.

5
Handling Calling Context Various Approaches: 1.Procedure Inlining – replace the call by procedure body. Drawbacks –Code size increases –Recursion causes problems 2.Call String Approach – add calling context information to data flow values by tagging them with call-return history. 5

6
Handling Calling Context 3.Functional Approach Two phases Analyze effect of procedure invocation independent of calling context find a summary transfer function for the entire procedure Analyze each procedure using summary functions for all called procedures 6

7
Functional Approach 7

8
Functional Approach Contd.. 8

9
9

10
10

11
Functional Approach Contd.. 11

12
Functional Approach Contd.. 12

13
Example: Available Expressions 13

14
Example: Available Expressions 14

15
Example: Available Expressions 15

16
Example: Available Expressions 16 Summary functions

17
Example: Available Expressions 17

18
18 Sample Problems Interprocedural Data Flow Analysis

Similar presentations

OK

1 CS 201 Compiler Construction Lecture 6 Code Optimizations: Constant Propagation & Folding.

1 CS 201 Compiler Construction Lecture 6 Code Optimizations: Constant Propagation & Folding.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on articles of association form Ppt on buddhism and jainism religion Ppt on object-oriented programming concepts youtube lecture Ppt on nepali culture and tradition Ppt on area of trapezium rectangle Ppt on cloud computing for seminar Ppt on fdi in retail sector 2012 Ppt on bmc remedy action Ppt on tsunami in 2004 Ppt on micro operations of an airport