Pointer Analysis for Semi-Automatic Code Parallelizers
Ketan Sudhakar Vyavahare
Abstract
Ketan Sudhakar Vyavahare
Abstract
Code parallelizers are employed these days to reduce the efforts needed in manually parallelizing sequential code. But they are ineffective when it comes to handling programming constructs like pointers. Code parallelizers like Par4all have a limited support for pointers while approaches like the ASET + BONES cannot handle pointers at all. In this thesis we have developed a pointer analysis infrastructure to enable pointer support for the ASET + BONES approach. Our pointer analysis infrastructure is based upon LLVM’s compiler infrastructure and relies on an indigenously developed flow insensitive, context sensitive analysis pass called ex-ptrinfo. The pass is designed to perform static analysis of source code and extract required pointer analysis information regarding pointer constructs that have been employed for performing memory accesses in PAINt and the Data Path algorithms. Our results show that the developed pointer analysis infrastructure can correctly identify such pointer constructs and extracts the required pointer analysis information which can be used for parallelizing the PAINt and the Data Path algorithms with the ASET + BONES approach. At the moment the ASET + BONES approach is under development and has several limitations. In future we intend to overcome these limitations and apply the ASET + BONES approach for parallelizing real world code. 1PAINt and the Data Path algorithms are proprietary algorithms developed at Oce
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Code parallelizers are employed these days to reduce the efforts needed in manually parallelizing sequential code. But they are ineffective when it comes to handling programming constructs like pointers. Code parallelizers like Par4all have a limited support for pointers while approaches like the ASET + BONES cannot handle pointers at all. In this thesis we have developed a pointer analysis infrastructure to enable pointer support for the ASET + BONES approach. Our pointer analysis infrastructure is based upon LLVM’s compiler infrastructure and relies on an indigenously developed flow insensitive, context sensitive analysis pass called ex-ptrinfo. The pass is designed to perform static analysis of source code and extract required pointer analysis information regarding pointer constructs that have been employed for performing memory accesses in PAINt and the Data Path algorithms. Our results show that the developed pointer analysis infrastructure can correctly identify such pointer constructs and extracts the required pointer analysis information which can be used for parallelizing the PAINt and the Data Path algorithms with the ASET + BONES approach. At the moment the ASET + BONES approach is under development and has several limitations. In future we intend to overcome these limitations and apply the ASET + BONES approach for parallelizing real world code. 1PAINt and the Data Path algorithms are proprietary algorithms developed at Oce
Key concepts: Pointer analysis, Pointer (user interface), Computer science, Compiler, Programming language, Source code, Static analysis, Data structure