Implementation of a Cache Miss Calculator in LLVM/Polly

Keyur Joshi, Albert Cohen and Ramakrishna Upadrasta

Presented at Workshop on the LLVM Compiler Infrastructure in HPC (in SC 2017), 2017


We propose an LLVM pass to mathematically measure cache misses for Static Control Parts (SCoPs) of programs. Our implementation builds on top of the Polly infrastructure and has support for features such as LRU associativity, unknown array base addresses, and (some) approximation. We describe our preliminary results and limitations by using this pass on a selection of SCoPs. Finally we list directions for expanding and improving this work.