Open Access. Powered by Scholars. Published by Universities.®
Articles 1 - 2 of 2
Full-Text Articles in Entire DC Network
Rapid: Region-Based Pointer Disambiguation, Khushboo Chitre, Piyus Kedia, Rahul Purandare
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
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 β¦