Propagating Information Using SSA
This chapter provides a gentle introduction to classical data-flow analysis and explains how SSA form improves both performance and expressiveness. In the first part, classical data-flow analysis is discussed by introducing the fundamentals of monotone frameworks on control-flow graphs. In the follo...
        Saved in:
      
    
          | Published in | SSA-based Compiler Design pp. 95 - 106 | 
|---|---|
| Main Authors | , | 
| Format | Book Chapter | 
| Language | English | 
| Published | 
        Cham
          Springer International Publishing
    
        2022
     | 
| Subjects | |
| Online Access | Get full text | 
| ISBN | 303080514X 9783030805142  | 
| DOI | 10.1007/978-3-030-80515-9_8 | 
Cover
| Summary: | This chapter provides a gentle introduction to classical data-flow analysis and explains how SSA form improves both performance and expressiveness. In the first part, classical data-flow analysis is discussed by introducing the fundamentals of monotone frameworks on control-flow graphs. In the following part, the chapter introduces a simple and elegant data-flow engine that exploits SSA form. The engine relies on SSA form in order to efficiently propagate information on the values of variables on a so-called SSA graph, while at the same time taking into account control dependencies that emerge from the classical control-flow graph. The engine’s operation is explained through several examples based on constant and copy propagation, which illustrate the advantages of jointly processing the program’s data and control flow. | 
|---|---|
| ISBN: | 303080514X 9783030805142  | 
| DOI: | 10.1007/978-3-030-80515-9_8 |