LLVM Static Analysis for Program Characterization and Memory Reuse Profile Estimation
Not on the map. Why?
Abstract (arXiv)
Profiling various application characteristics, including the number of different arithmetic operations performed, memory footprint, etc., dynamically is time- and space-consuming. On the other hand, static analysis methods, although fast, can be less accurate. This paper presents an LLVM-based probabilistic static analysis method that accurately predicts different program characteristics and estimates the reuse distance profile of a program by analyzing the LLVM IR file in constant time, regardless of program input size. We generate the basic-block-level control flow graph of the target application kernel and determine basic-block execution counts by solving the linear balance equation involving the adjacent basic blocks' transition probabilities. Finally, we represent the kernel memory accesses in a bracketed format and employ a recursive algorithm to calculate the reuse distance profile. The results show that our approach can predict application characteristics accurately compared to another LLVM-based dynamic code analysis tool, Byfl.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). First posted on arXiv 20 Nov 2023.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 1.
1 paper.