{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:52:32Z","timestamp":1750308752418,"version":"3.41.0"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2007,2,1]],"date-time":"2007-02-01T00:00:00Z","timestamp":1170288000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2007,2]]},"abstract":"<jats:p>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 to a large extent be eliminated. Our link-time optimizer is evaluated with four tool chains, two proprietary ones from ARM and two open ones based on GNU GCC. When used with proprietary tool chains from ARM Ltd., our link-time optimizer achieved average code size reductions of 16.0 and 18.5%, while the programs have become 12.8 and 12.3% faster, and 10.7 to 10.1% more energy efficient. Finally, we show how the incorporation of link-time optimization in tool chains may influence library interface design.<\/jats:p>","DOI":"10.1145\/1210268.1210273","type":"journal-article","created":{"date-parts":[[2007,4,5]],"date-time":"2007-04-05T19:20:08Z","timestamp":1175800808000},"page":"5","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["Link-time compaction and optimization of ARM executables"],"prefix":"10.1145","volume":"6","author":[{"given":"Bjorn","family":"De Sutter","sequence":"first","affiliation":[{"name":"Ghent University, Belgium"}]},{"given":"Ludo","family":"Van Put","sequence":"additional","affiliation":[{"name":"Ghent University, Belgium"}]},{"given":"Dominique","family":"Chanet","sequence":"additional","affiliation":[{"name":"Ghent University, Belgium"}]},{"given":"Bruno","family":"De Bus","sequence":"additional","affiliation":[{"name":"Ghent University, Belgium"}]},{"given":"Koen","family":"De Bosschere","sequence":"additional","affiliation":[{"name":"Ghent University, Belgium"}]}],"member":"320","published-online":{"date-parts":[[2007,2]]},"reference":[{"volume-title":"Proceedings of the 2004 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. 259--267","author":"Angiolini F.","key":"e_1_2_1_1_1","unstructured":"Angiolini , F. , Menichelli , F. , Ferrero , A. , Benini , L. , and Olivieri , M . 2004. A post-compiler approach to scratchpad mapping of code . In Proceedings of the 2004 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. 259--267 .]] 10.1145\/1023833.1023869 Angiolini, F., Menichelli, F., Ferrero, A., Benini, L., and Olivieri, M. 2004. A post-compiler approach to scratchpad mapping of code. In Proceedings of the 2004 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. 259--267.]] 10.1145\/1023833.1023869"},{"volume-title":"An Introduction to Thumb","author":"Ltd","key":"e_1_2_1_2_1","unstructured":"ARM Ltd . 1995. An Introduction to Thumb . ARM Ltd .]] ARM Ltd. 1995. An Introduction to Thumb. ARM Ltd.]]"},{"volume-title":"ELF for the ARM Architecture","author":"Ltd","key":"e_1_2_1_3_1","unstructured":"ARM Ltd . 2005. ELF for the ARM Architecture . ARM Ltd .]] ARM Ltd. 2005. ELF for the ARM Architecture. ARM Ltd.]]"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.982917"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/937503.937504"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 2005 ACM SIGPLAN\/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES). 95--104","author":"Chanet D.","year":"2005","unstructured":"Chanet , D. , De Sutter , B. , De Bus , B. , Van Put , L. , and De Bosschere , K. 2005 . System-wide compaction and specialization of the Linux kernel . In Proceedings of the 2005 ACM SIGPLAN\/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES). 95--104 , ACM Press.]] 10.1145\/1065910.1065925 Chanet, D., De Sutter, B., De Bus, B., Van Put, L., and De Bosschere, K. 2005. System-wide compaction and specialization of the Linux kernel. In Proceedings of the 2005 ACM SIGPLAN\/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES). 95--104, ACM Press.]] 10.1145\/1065910.1065925"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2005.23"},{"volume-title":"Proceedings of the USENIX Windows NT Workshop. 17--24","author":"Cohn R.","key":"e_1_2_1_8_1","unstructured":"Cohn , R. , Goodwin , D. , Lowney , P. , and Rubin , N . 1997. Spike: An optimizer for Alpha\/NT executables . In Proceedings of the USENIX Windows NT Workshop. 17--24 .]] Cohn, R., Goodwin, D., Lowney, P., and Rubin, N. 1997. Spike: An optimizer for Alpha\/NT executables. In Proceedings of the USENIX Windows NT Workshop. 17--24.]]"},{"volume-title":"Proceedings of the ACM SIGPLAN 2003 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'03)","author":"Corliss M.","key":"e_1_2_1_9_1","unstructured":"Corliss , M. , Lewis , E. , and Roth , A . 2003. A DISE implementation of dynamic code decompression . In Proceedings of the ACM SIGPLAN 2003 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'03) . 232--243.]] 10.1145\/780732.780765 Corliss, M., Lewis, E., and Roth, A. 2003. A DISE implementation of dynamic code decompression. In Proceedings of the ACM SIGPLAN 2003 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'03). 232--243.]] 10.1145\/780732.780765"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"De Bus B. K\u00e4stner D. Chanet D. Van Put L. and De Sutter B. 2003. Post-pass compaction techniques. Communications of the ACM 46 8 (8) 41--46.]] 10.1145\/859670.859696   De Bus B. K\u00e4stner D. Chanet D. Van Put L. and De Sutter B. 2003. Post-pass compaction techniques. Communications of the ACM 46 8 (8) 41--46.]] 10.1145\/859670.859696","DOI":"10.1145\/859670.859696"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 2004 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04)","author":"De Bus B.","year":"2004","unstructured":"De Bus , B. , Chanet , D. , De Sutter , B. , Van Put , L. , and De Bosschere , K. 2004 . The design of FIT, a flexible instrumentation toolkit . In Proceedings of the 2004 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04) . 29--34.]] 10.1145\/996821.996833 De Bus, B., Chanet, D., De Sutter, B., Van Put, L., and De Bosschere, K. 2004. The design of FIT, a flexible instrumentation toolkit. In Proceedings of the 2004 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'04). 29--34.]] 10.1145\/996821.996833"},{"volume-title":"Proc. of the International Conference on Parallel and Distributed Processing Techniques and Applications. 1013--1019","author":"De Sutter B.","key":"e_1_2_1_13_1","unstructured":"De Sutter , B. , De Bus , B. , De Bosschere , K. , Keyngnaert , P. , and Demoen , B . 2000. On the static analysis of indirect control transfers in binaries . In Proc. of the International Conference on Parallel and Distributed Processing Techniques and Applications. 1013--1019 .]] De Sutter, B., De Bus, B., De Bosschere, K., Keyngnaert, P., and Demoen, B. 2000. On the static analysis of indirect control transfers in binaries. In Proc. of the International Conference on Parallel and Distributed Processing Techniques and Applications. 1013--1019.]]"},{"volume-title":"Proc. of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. 29--38","author":"De Sutter B.","key":"e_1_2_1_14_1","unstructured":"De Sutter , B. , De Bus , B. , De Bosschere , K. , and Debray , S . 2001. Combining global code and data compaction . In Proc. of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. 29--38 .]] 10.1145\/384198.384204 De Sutter, B., De Bus, B., De Bosschere, K., and Debray, S. 2001. Combining global code and data compaction. In Proc. of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems. 29--38.]] 10.1145\/384198.384204"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 17th ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 275--291","author":"De Sutter B.","year":"2002","unstructured":"De Sutter , B. , De Bus , B. , and De Bosschere , K. 2002 . Sifting out the mud: low level C&plus;&plus; code reuse . In Proceedings of the 17th ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 275--291 .]] 10.1145\/582419.582445 De Sutter, B., De Bus, B., and De Bosschere, K. 2002. Sifting out the mud: low level C&plus;&plus; code reuse. In Proceedings of the 17th ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA). 275--291.]] 10.1145\/582419.582445"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2006.03.001"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086642.1086645"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES'03)","author":"De Sutter B.","year":"2003","unstructured":"De Sutter , B. , Vandierendonck , H. , De Bus , B. , and De Bosschere , K. 2003 . On the side-effects of code abstraction . In Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES'03) . 245--253.]] 10.1145\/780732.780766 De Sutter, B., Vandierendonck, H., De Bus, B., and De Bosschere, K. 2003. On the side-effects of code abstraction. In Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers and Tools for Embedded Systems (LCTES'03). 245--253.]] 10.1145\/780732.780766"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/349214.349233"},{"volume-title":"Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'97)","author":"Ernst J.","key":"e_1_2_1_20_1","unstructured":"Ernst , J. , Evans , W. , Fraser , C. , Lucco , S. , and Proebsting , T . 1997. Code compression . In Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'97) . 358--365.]] 10.1145\/258915.258947 Ernst, J., Evans, W., Fraser, C., Lucco, S., and Proebsting, T. 1997. Code compression. In Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'97). 358--365.]] 10.1145\/258915.258947"},{"volume-title":"Mobile Object Systems: Towards the Programmable Internet","author":"Franz M.","key":"e_1_2_1_21_1","unstructured":"Franz , M. 1997. Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems . In Mobile Object Systems: Towards the Programmable Internet , J. Vitek and C. Tschudin, Eds. Number 1222 in LNCS. Springer , New York . 263--276.]] Franz, M. 1997. Adaptive compression of syntax trees and iterative dynamic code optimization: Two basic technologies for mobile-object systems. In Mobile Object Systems: Towards the Programmable Internet, J. Vitek and C. Tschudin, Eds. Number 1222 in LNCS. Springer, New York. 263--276.]]"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/265563.265576"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (PLDI'99)","author":"Fraser C.","year":"1999","unstructured":"Fraser , C. 1999 . Automatic inference of models for statistical code compression . In Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (PLDI'99) . 242--246.]] 10.1145\/301618.301672 Fraser, C. 1999. Automatic inference of models for statistical code compression. In Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation (PLDI'99). 242--246.]] 10.1145\/301618.301672"},{"volume-title":"ARM System Architecture","author":"Furber S.","key":"e_1_2_1_24_1","unstructured":"Furber , S. 1996. ARM System Architecture . Addison Wesley , Reading, MA .]] Furber, S. 1996. ARM System Architecture. Addison Wesley, Reading, MA.]]"},{"volume-title":"Proc. of the International Symposium on Code Generation and Optimization. 228--237","author":"Haber G.","key":"e_1_2_1_25_1","unstructured":"Haber , G. , Klausner , M. , Eisenberg , V. , Mendelson , B. , and Gurevich , M . 2003. Optimization opportunities created by global data reordering . In Proc. of the International Symposium on Code Generation and Optimization. 228--237 .]] Haber, G., Klausner, M., Eisenberg, V., Mendelson, B., and Gurevich, M. 2003. Optimization opportunities created by global data reordering. In Proc. of the International Symposium on Code Generation and Optimization. 228--237.]]"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the 2000 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES'00)","author":"K\u00e4stner D.","year":"2000","unstructured":"K\u00e4stner , D. 2000 . PROPAN: A retargetable system for postpass optimizations and analyses . In Proceedings of the 2000 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES'00) .]] K\u00e4stner, D. 2000. PROPAN: A retargetable system for postpass optimizations and analyses. In Proceedings of the 2000 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems (LCTES'00).]]"},{"volume-title":"Proceedings of the joint conference on Languages, Compilers and Tools for Embedded Systems (LCTES): Software and Compilers for Embedded Systems (SCOPES). 46--55","author":"K\u00e4stner D.","key":"e_1_2_1_27_1","unstructured":"K\u00e4stner , D. and Wilhelm , S . 2002. Generic control-flow reconstruction from assembly code . In Proceedings of the joint conference on Languages, Compilers and Tools for Embedded Systems (LCTES): Software and Compilers for Embedded Systems (SCOPES). 46--55 .]] 10.1145\/513829.513839 K\u00e4stner, D. and Wilhelm, S. 2002. Generic control-flow reconstruction from assembly code. In Proceedings of the joint conference on Languages, Compilers and Tools for Embedded Systems (LCTES): Software and Compilers for Embedded Systems (SCOPES). 46--55.]] 10.1145\/513829.513839"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.426.0807"},{"volume-title":"Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30)","author":"Kirovski D.","key":"e_1_2_1_29_1","unstructured":"Kirovski , D. , Kin , J. , and Mangione-Smith , W. H . 1997. Procedure based program compression . In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30) .]] Kirovski, D., Kin, J., and Mangione-Smith, W. H. 1997. Procedure based program compression. In Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30).]]"},{"volume-title":"Proc. of the International Symposium on Code Generation and Optimization. 75--86","author":"Lattner C.","key":"e_1_2_1_30_1","unstructured":"Lattner , C. and Adve , V . 2004. LLVM: A compilation framework for lifelong program analysis &amp; transformation . In Proc. of the International Symposium on Code Generation and Optimization. 75--86 .]] Lattner, C. and Adve, V. 2004. LLVM: A compilation framework for lifelong program analysis &amp; transformation. In Proc. of the International Symposium on Code Generation and Optimization. 75--86.]]"},{"volume-title":"Proceedings of the 40th conference on Design Automation (DAC). 306--311","author":"Lekatsas H.","key":"e_1_2_1_31_1","unstructured":"Lekatsas , H. , Henkel , J. , Chakradhar , S. , Jakkula , V. , and Sankaradass , M . 2003. Coco: a hardware\/software platform for rapid prototyping of code compression technologies . In Proceedings of the 40th conference on Design Automation (DAC). 306--311 .]] 10.1145\/775832.775912 Lekatsas, H., Henkel, J., Chakradhar, S., Jakkula, V., and Sankaradass, M. 2003. Coco: a hardware\/software platform for rapid prototyping of code compression technologies. In Proceedings of the 40th conference on Design Automation (DAC). 306--311.]] 10.1145\/775832.775912"},{"volume-title":"Morgan Kaufmann Publishers","author":"Levine J.","key":"e_1_2_1_32_1","unstructured":"Levine , J. 2000. Linkers &amp; Loaders. Morgan Kaufmann Publishers , San Mateo, CA .]] Levine, J. 2000. Linkers &amp; Loaders. Morgan Kaufmann Publishers, San Mateo, CA.]]"},{"volume-title":"Proc. of the International Symposium on Code Generation and Optimization. 15--26","author":"Luk C.-K.","key":"e_1_2_1_33_1","unstructured":"Luk , C.-K. , Muth , R. , Patil , H. , Cohn , R. , and Lowney , G . 2004. Ispike: A post-link optimizer for the Intel Itanium architecture . In Proc. of the International Symposium on Code Generation and Optimization. 15--26 .]] Luk, C.-K., Muth, R., Patil, H., Cohn, R., and Lowney, G. 2004. Ispike: A post-link optimizer for the Intel Itanium architecture. In Proc. of the International Symposium on Code Generation and Optimization. 15--26.]]"},{"key":"e_1_2_1_34_1","unstructured":"Muth R. 1999. Alto: A platform for object code modification. Ph.D. thesis University Of Arizona.]]   Muth R. 1999. Alto: A platform for object code modification. Ph.D. thesis University Of Arizona.]]"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1002\/1097-024X(200101)31:1%3C67::AID-SPE357%3E3.0.CO;2-A"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99)","author":"Pugh W.","year":"1999","unstructured":"Pugh , W. 1999 . Compressing Java class files . In Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99) . 247--258.]] 10.1145\/301618.301676 Pugh, W. 1999. Compressing Java class files. In Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99). 247--258.]] 10.1145\/301618.301676"},{"volume-title":"Proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 49--60","author":"Srivastava A.","key":"e_1_2_1_37_1","unstructured":"Srivastava , A. and Wall , D. W . 1994. Link-time optimization of address calculation on a 64-bit architecture . In Proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 49--60 .]] 10.1145\/178243.178248 Srivastava, A. and Wall, D. W. 1994. Link-time optimization of address calculation on a 64-bit architecture. In Proc. of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 49--60.]] 10.1145\/178243.178248"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1210268.1210273","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1210268.1210273","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:22:21Z","timestamp":1750278141000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1210268.1210273"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,2]]},"references-count":36,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2007,2]]}},"alternative-id":["10.1145\/1210268.1210273"],"URL":"https:\/\/doi.org\/10.1145\/1210268.1210273","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2007,2]]},"assertion":[{"value":"2007-02-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}