JOURNAL BROWSE
Search
Advanced SearchSearch Tips
Getting Feedback on a Compiler`s Optimization Decisions, Enabling More Code-Optimization Opportunities
facebook(new window)  Pirnt(new window) E-mail(new window) Excel Download
 Title & Authors
Getting Feedback on a Compiler`s Optimization Decisions, Enabling More Code-Optimization Opportunities
Min, Gyeong Il; Park, Sewon; Han, Miseon; Kim, Seon Wook;
  PDF(new window)
 Abstract
Short execution time is the major performance factor for computer systems. This performance factor is directly determined by code quality, which is influenced by the compiler`s optimizations. However, a compiler has limitations when optimizing source code due to insufficient information. Thus, if programmers can learn the reasons why a compiler fails to apply optimizations, they can rewrite code that is more easily understood by the compiler, and thus improve performance. In this paper, we propose a compiler that provides a programmer with reasons for failed optimization and recognizes programmer`s additional information to obtain better optimization. As a result, we obtain performance improvement, i.e., reducing execution time and code size, by taking advantage of additional optimization opportunities.
 Keywords
LLVM;Optimization;Performance;Code quality;Execution time;
 Language
English
 Cited by
 References
1.
P. P. Chang, et al., "Inline function expansion for compiling C programs," in Proc. of PLDI 1989, pp. 246-257, Jul. 1989.

2.
The LLVM Compiler Infrastructure. http://llvm.org/

3.
David F. Bacon, et al., "Compiler transformations for high-performance computing," ACM Comput. Surv., Vol. 26, pp. 345-420, Dec. 1994. crossref(new window)

4.
Vincent St-Amour, et al., "Optimization coaching: optimizers learn to communicate with programmers," in Proc. Of OOPSLA 2012, Oct. 2012.

5.
John L. Henning, "SPEC CPU2006 benchmark descriptions," SIGARCH Comput. Archit. News, Vol. 34, pp. 1-17, Sep. 2006.

6.
The Rpass Infrastructure.

7.
Lattner, Chris, "LLVM and Clang: Next generation compiler technology," The BSD Conference 2008, May. 2008.

8.
Reinders, James, "VTune performance analyzer essentials," Intel Press, 2005.

9.
Hal Finkel, "Intrinsics, Metadata and Attributes: Now, more than ever!," 2014 LLVM Developers' Meeting.