Mobile application domain is developing on a daily basis. The performance, features and aesthetics of the applications play an important role in its increasing importance. Also, upcoming device models are looking for more energy-efficient performance as a step towards green computing. This is realized by ARM cores. But the performance and energy efficiency depend not only on the core, but the application also. Such efficiency can only be managed by efficient code from the compiler. This is primarily managed in its back-end, which comprises of the latter half of the compiler's control flow (intermediate code generator to code generator). If the code is optimized by the compiler, it will perform with lesser CPU cycle requirements, and save more energy. So, optimizing the code saves both time and power. In order to do so, compilers like GCC already provide a lot of options. But due to the generic structure of GCC, it performs very little ARM-specific optimizations. Here, we aim to improve the performance of the GCC optimizers for the ARM cores by better instruction selection (machine idioms and instruction combining), and choosing the order of optimizations appropriately, since in some cases, a set of optimizations may pave the way for improving some others. The end result is targeted to give about 30% increase in efficiency in most cases.
[1]
Hu Mingzeng,et al.
A SMT-ARM simulator and performance evaluation
,
2006,
ICSE 2006.
[2]
Richard M. Stallman,et al.
An Introduction to GCC
,
2004
.
[3]
Richard M. Stallman,et al.
An introduction to GCC : for the GNU compilers gcc and g++
,
2005
.
[4]
Andrew N. Sloss,et al.
ARM System Developer's Guide: Designing and Optimizing System Software
,
2004
.
[5]
Richard M. Stallman,et al.
Using and Porting the GNU Compiler Collection
,
2000
.
[6]
Steven S. Muchnick,et al.
Advanced Compiler Design and Implementation
,
1997
.
[7]
Lei Wang,et al.
The study and implementation of architecture-dependent optimization in GCC
,
2000,
Proceedings Fourth International Conference/Exhibition on High Performance Computing in the Asia-Pacific Region.
[8]
Den Wenjian.
ARM7TDMI Optimization Based on GCC
,
2010,
2010 Second International Conference on Computer Research and Development.
[9]
David Seal,et al.
ARM Architecture Reference Manual
,
2001
.