DocumentCode
2573046
Title
Speculative alias analysis for executable code
Author
Fernández, Manel ; Espasa, Roger
Author_Institution
Dept. d´´Arquitectura de Computadors, Univ. Politecnica de Catalunya, Barcelona, Spain
fYear
2002
fDate
2002
Firstpage
222
Lastpage
231
Abstract
Optimizations performed at link time or directly applied to final program executables have received increased attention in recent years. Such low-level optimizations can benefit greatly from pointer alias information. However as almost all existing alias analyses are formulated in terms of source language constructs, they turn out to be of limited utility at the machine code level. This paper describes two different approaches to high-quality, low-cost, speculative may-alias analysis, to be applied in the context of link-time or executable code optimizers. The key idea behind our proposals is the introduction of unsafe speculations at analysis-time, which increases alias precision on important portions of code, and keeps the analysis reasonably cost-efficient. Experimental results indicate that introducing speculation at analysis-time is clearly beneficial: precision increases up to 83% in average, against a baseline precision of 16%. Furthermore, the percentage of dynamic misspeculations is typically about 2%, which shows that our technique can be used even for scenarios where speculation recovery is expensive.
Keywords
program compilers; storage management; executable code; executable code optimizers; machine code level; pointer alias information; speculative alias analysis; speculative may-alias analysis; Algorithm design and analysis; Arithmetic; Binary codes; Computer architecture; Electronic mail; Equations; Information analysis; Parallel architectures; Proposals; Registers;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Architectures and Compilation Techniques, 2002. Proceedings. 2002 International Conference on
ISSN
1089-795X
Print_ISBN
0-7695-1620-3
Type
conf
DOI
10.1109/PACT.2002.1106020
Filename
1106020
Link To Document