|
|
|
|
|
by thaliaarchi
785 days ago
|
|
> Out in the literature we can find a huge number of dataflow analyses, some of which are useful to optimize some kinds of code — but it’s hard to know which ones to actually implement. […] First, implementing the analysis itself, which requires creating an abstract version of each instruction in the compiler’s IR: these are called dataflow transfer functions. For example, to implement the addition operation for integer ranges, we can use [lo1, hi1] + [lo2, hi2] = [lo1 + lo2, hi1 + hi2] as the transfer function. What papers would you recommend for learning implementing dataflow analysis? For example, foundational or tutorial papers. |
|
[1] https://cs.au.dk/~amoeller/spa/
[2] G. A. Kildall, Global expression optimization during compilation.
[3] G. A. Kildall, A Unified Approach to Global Program Optimization.
[4] https://en.wikipedia.org/wiki/Gary_Kildall
[5] F. Nielson, H. Riis Nielson, C. Hankin, Principles of Program Analysis.
[6] X. Rival, K. Yi, Introduction to Static Analysis: An Abstract Interpretation Perspective.
[7] P. Cousot, R. Cousot, Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints.