Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/997163.997194acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Link-time optimization of ARM binaries

Published: 11 June 2004 Publication History

Abstract

The overhead in terms of code size, power consumption and execution time caused by the use of precompiled libraries and separate compilation is often unacceptable in the embedded world, where real-time constraints, battery life-time and production costs are of critical importance. In this paper we present our link-time optimizer for the ARM architecture. We discuss how we can deal with the peculiarities of the ARM architecture related to its visible program counter and how the introduced overhead can be eliminated to a large extent. Our link-time optimizer is evaluated in two tool chains. In the Arm Developer Suite tool chain, average code size reductions with 14.6% are achieved, while execution time is reduced with 8.3% on average, and energy consumption with 7.3%. On binaries from the GCC tool chain the average code size reduction is 16.6%, execution time is reduced with 12.3% and the energy consumption with 11.5% on average. Finally, we show how the incorporation of link-time optimization in tool chains may influence library interface design.

References

[1]
ARM. An Introduction to Thumb. Advanced RISC Machines Ltd., 3 1995.
[2]
T. Austin, E. Larson, and D. Ernst. Simplescalar: An infrastructure for computer system modeling. Computer, 35(2):59--67, 2002.
[3]
B. De Bus, D. Kästner, D. Chanet, L. Van Put, and B. De Sutter. Post-pass compaction techniques. Communications of the ACM, 46(8):41--46, 8 2003.
[4]
B. De Sutter, B. De Bus, K. De Bosschere, and S. Debray. Combining global code and data compaction. In Proc. of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems, pages 29--38, 2001.
[5]
B. De Sutter, B. De Bus, K. De Bosschere, P. Keyngnaert, and B. Demoen. On the static analysis of indirect control transfers in binaries. In Proc. of the International Conference on Parallel and Distributed Processing Techniques and Applications, pages 1013--1019, 2000.
[6]
S. Debray, W. Evans, R. Muth, and B. De Sutter. Compiler techniques for code compaction. ACM Transactions on Programming Languages and Systems, 22(2):378--415, 3 2002.
[7]
S. Furber. ARM System Architecture. Addison Wesley, 1996.
[8]
G. Haber, M. Klausner, V. Eisenberg, B. Mendelson, and M. Gurevich. Optimization opportunities created by global data reordering. In Proc. of the International Symposium on Code Generation and Optimization, pages 228--237, 2003.
[9]
R. Muth, S. K. Debray, S. A. Watterson, and K. De Bosschere. alto: a link-time optimizer for the compaq alpha. Software - Practice and Experience, 31(1):67--101, 2001.
[10]
A. Srivastava and D. W. Wall. Link-time optimization of address calculation on a 64-bit architecture. In Proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 49--60, 1994.

Cited By

View all
  • (2024)Porting the Gold Linker to the LoongArch Architecture2024 5th International Symposium on Computer Engineering and Intelligent Communications (ISCEIC)10.1109/ISCEIC63613.2024.10810250(579-585)Online publication date: 8-Nov-2024
  • (2023)Propeller: A Profile Guided, Relinking Optimizer for Warehouse-Scale ApplicationsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575727(617-631)Online publication date: 27-Jan-2023
  • (2020)ELSEProceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3380536.3380545(1-10)Online publication date: 22-Feb-2020
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
June 2004
276 pages
ISBN:1581138067
DOI:10.1145/997163
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 39, Issue 7
    LCTES '04
    July 2004
    265 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/998300
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compaction
  2. linker
  3. optimization
  4. performance

Qualifiers

  • Article

Conference

LCTES04

Acceptance Rates

Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)2
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Porting the Gold Linker to the LoongArch Architecture2024 5th International Symposium on Computer Engineering and Intelligent Communications (ISCEIC)10.1109/ISCEIC63613.2024.10810250(579-585)Online publication date: 8-Nov-2024
  • (2023)Propeller: A Profile Guided, Relinking Optimizer for Warehouse-Scale ApplicationsProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575727(617-631)Online publication date: 27-Jan-2023
  • (2020)ELSEProceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores10.1145/3380536.3380545(1-10)Online publication date: 22-Feb-2020
  • (2019)Effective and efficient Java‐type obfuscationSoftware: Practice and Experience10.1002/spe.277350:2(136-160)Online publication date: 29-Nov-2019
  • (2016)Tuning compilations landscape2016 2nd International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I.2016.7918029(575-583)Online publication date: Dec-2016
  • (2014)What's the PointiSA?Proceedings of the 2nd ACM workshop on Information hiding and multimedia security10.1145/2600918.2600928(23-34)Online publication date: 11-Jun-2014
  • (2013)Power devilProceedings of the 10th Workshop on Optimizations for DSP and Embedded Systems10.1145/2443608.2443615(29-34)Online publication date: 24-Feb-2013
  • (2013)A state alteration and inspection-based interactive debugger2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM.2013.6648188(84-93)Online publication date: Sep-2013
  • (2012)Replacement attacks against VM-protected applicationsACM SIGPLAN Notices10.1145/2365864.215105147:7(203-214)Online publication date: 3-Mar-2012
  • (2012)Statistical Performance Modeling in Functional Instruction Set SimulatorsACM Transactions on Embedded Computing Systems10.1145/2180887.218089911S:1(1-22)Online publication date: 1-Jun-2012
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media