Open Access. Powered by Scholars. Published by Universities.®

Digital Commons Network

Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics

University of Nebraska - Lincoln

School of Computing: Faculty Publications

Alias analysis

Publication Year

Articles 1 - 2 of 2

Full-Text Articles in Entire DC Network

Rapid: Region-Based Pointer Disambiguation, Khushboo Chitre, Piyus Kedia, Rahul Purandare Oct 2023

Rapid: Region-Based Pointer Disambiguation, Khushboo Chitre, Piyus Kedia, Rahul Purandare

School of Computing: Faculty Publications

Interprocedural alias analyses often sacrifice precision for scalability. Thus, modern compilers such as GCC and LLVM implement more scalable but less precise intraprocedural alias analyses. This compromise makes the compilers miss out on potential optimization opportunities, affecting the performance of the application. Modern compilers implement loop-versioning with dynamic checks for pointer disambiguation to enable the missed optimizations. Polyhedral access range analysis and symbolic range analysis enable O(1) range checks for non-overlapping of memory accesses inside loops. However, these approaches work only for the loops in which the loop bounds are loop invariants. To address this limitation, researchers proposed a …


The Road Not Taken: Exploring Alias Analysis Based Optimizations Missed By The Compiler, Khushboo Chitre, Piyus Kedia, Rahul Purandare Oct 2022

The Road Not Taken: Exploring Alias Analysis Based Optimizations Missed By The Compiler, Khushboo Chitre, Piyus Kedia, Rahul Purandare

School of Computing: Faculty Publications

Context-sensitive inter-procedural alias analyses are more precise than intra-procedural alias analyses. However, context-sensitive inter-procedural alias analyses are not scalable. As a consequence, most of the production compilers sacrifice precision for scalability and implement intra-procedural alias analysis. The alias analysis is used by many compiler optimizations, including loop transformations. Due to the imprecision of alias analysis, the program’s performance may suffer, especially in the presence of loops.

Previous work proposed a general approach based on code-versioning with dynamic checks to disambiguate pointers at runtime. However, the overhead of dynamic checks in this approach is 𝑂(π‘™π‘œπ‘” 𝑛), which is substantially high to …