@inproceedings{45f99a49b4dd489aad199b58e06c6db6,
title = "Interprocedural array data-flow analysis for cache coherence",
abstract = "The presence of procedures and procedure calls introduces side effects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes [4, 3, IO]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary [5, 8] or inlining [8] to avoid reference marking interprocedurally. HOwever, frequent cache invalidations will result in poor performance since locality can not be exploited across the procedure boundary. Also, the inlining is often prohibitive due to both its code expansion and increase in its compilation time and memory requirements. In this paper, we introduce an improved intraprocedural and interprocedural algorithms for detecting references to stale data. The intraprocedural algorithm can mark potential stale references without relying on any cache invalidation or inlining at procedure boundaries, thus avoiding unnecessary cache misses for subroutine local data. The interprocedural algorithm performs bottomup and top-down analysis on the procedure call graph to.further exploit locality across procedure boundames.",
author = "Lynn Choi and Yew, {Pen Chung}",
year = "1996",
doi = "10.1007/bfb0014193",
language = "English (US)",
isbn = "9783540607656",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "81--95",
editor = "Chua-Huang Huang and Ponnuswamy Sadayappan and Utpal Banerjee and David Gelernter and Alex Nicolau and David Padua",
booktitle = "Languages and Compilers for Parallel Computing - 8th International Workshop, LCPC 1995, Proceedings",
note = "8th International Workshop on Languages and Compilers for Parallel Computing, LCPC 1995 ; Conference date: 10-08-1995 Through 12-08-1995",
}