Towards advanced symbolic analysis for optimizing compilers

Hansang Bae, Purdue University

Abstract

Symbolic analysis is an enabling technique that improves the effectiveness of compiler optimizations, by detecting numeric properties of program variables or relationships between the variables, and by exposing such properties to compiler optimizations. Expressing the abstract values of program variables in terms of value ranges and analyzing expressions using the ranges are one of the most advanced symbolic analysis techniques to date. Previous work on this symbolic analysis has not fully explore its possibility in terms of coverage and utilization. This thesis aims at investigating possible advances in this symbolic analysis by providing two techniques, interprocedural symbolic range propagation and array value propagation. The two techniques were developed based on the symbolic analysis engine which utilizes the value ranges of variables. Interprocedural symbolic range propagation enables whole-program analysis for propagating scalar value ranges, and array value propagation uncovers value properties of array variables. The evaluation result shows that the two techniques increase the effectiveness of automatic parallelization and provide better compile-time knowledge so that the compiler improve the code quality using the knowledge.

Degree

Ph.D.

Advisors

Eigenmann, Purdue University.

Subject Area

Computer Engineering|Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS