DocumentCode :
3292925
Title :
Value profiling
Author :
Calder, Brad ; Feller, Peter ; Eustace, Alan
Author_Institution :
Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
fYear :
1997
fDate :
1-3 Dec 1997
Firstpage :
259
Lastpage :
269
Abstract :
Identifying variables as invariant or constant at compile-time allows the compiler to perform optimizations including constant folding, code specialization, and partial evaluation. Some variables, which cannot be labeled as constants, may exhibit semi-invariant behavior. A semi-invariant variable is one that cannot be identified as a constant at compile-time, but has a high degree of invariant behavior at run-time. If run-time information was available to identify these variables as semi-invariant, they could then benefit from invariant-based compiler optimizations. We examine the invariance found from profiling instruction values, and show that many instructions have semi-invariant values even across different inputs. We also investigate the ability to estimate the invariance for all instructions in a program from only profiling load instructions. In addition, we propose a new type of profiling called convergent profiling. Estimating the invariance from loads and convergent profiling are used to reduce the profiling time needed to generate an accurate value profile. The value profile can then be used to automatically guide code generation for dynamic compilation, adaptive execution, code specialization, partial evaluation and other compiler optimizations
Keywords :
computer architecture; instruction sets; microprogramming; optimising compilers; partial evaluation (compilers); adaptive execution; code generation; code specialization; compile-time; constant folding; constant variables; convergent profiling; dynamic compilation; instruction values; invariant variables; invariant-based compiler optimizations; load instructions; optimizing compilers; partial evaluation; semi-invariant variable; value profiling; Computer science; Dynamic compiler; Feedback; Hardware; Optimizing compilers; Program processors; Runtime; Steady-state;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture, 1997. Proceedings., Thirtieth Annual IEEE/ACM International Symposium on
Conference_Location :
Research Triangle Park, NC
ISSN :
1072-4451
Print_ISBN :
0-8186-7977-8
Type :
conf
DOI :
10.1109/MICRO.1997.645816
Filename :
645816
Link To Document :
بازگشت