{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:24:17Z","timestamp":1750307057020,"version":"3.41.0"},"reference-count":17,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2012,9,1]],"date-time":"2012-09-01T00:00:00Z","timestamp":1346457600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001602","name":"Science Foundation Ireland","doi-asserted-by":"publisher","award":["03\/CE2\/I303_1"],"award-info":[{"award-number":["03\/CE2\/I303_1"]}],"id":[{"id":"10.13039\/501100001602","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2012,9]]},"abstract":"<jats:p>The increasing demand for more functionality in embedded systems applications nowadays requires efficient generation of compact code for embedded DSP processors. Because such processors have highly irregular data-paths, compilers targeting those processors are challenged with the automatic generation of optimized code with competent quality comparable to hand-crafted code. A major issue in code-generation is to optimize the placement of program variables in ROM relative to each other so as to reduce the overhead instructions dedicated for address computations. Modern DSP processors are typically shipped with a feature called Address Generation Unit (AGU) that provides efficient address-generation instructions for accessing program variables. Compilers targeting those processors are expected to exploit the AGU to optimize variables assignment. This article focuses on one of the basic offset-assignment problems; the Simple Offset Assignment (SOA) problem, where the AGU has only one Address Register and no Modify Registers. The notion of Tie-Break Function, TBF, introduced by Leupers and Marwedel [1996], has been used to guide the placement of variables in memory.<\/jats:p>\n          <jats:p>In this article, we introduce a more effective form of the TBF; the Effective Tie-Breaking Function, ETBF, and show that the ETBF is better at guiding the variables placement process. Underpinning ETBF is the fact that program variables are placed in memory in sequence, with each variable having only two neighbors. We applied our technique to randomly generated graphs as well as to real-world code from the OffsetStone testbench [2010]).<\/jats:p>\n          <jats:p>In previous work [Ali et al. 2008], our technique showed up to 7% reduction in overhead when applied to randomly-generated problem instances. We report in this article on a further experiment of our technique on real-code from the Offsetstone testbench. Despite the substantial improvement our technique has achieved when applied to random problem instances, we found that it shows slight overhead reduction when applied to real-world instances in OffsetStone, which agrees with similar existing experiments. We analyze these results and show that the ETBF defaults to TBF.<\/jats:p>","DOI":"10.1145\/2345770.2345775","type":"journal-article","created":{"date-parts":[[2012,10,2]],"date-time":"2012-10-02T13:50:00Z","timestamp":1349185800000},"page":"1-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["On Heuristic Solutions to the Simple Offset Assignment Problem in Address-Code Optimization"],"prefix":"10.1145","volume":"11","author":[{"given":"Hesham","family":"Shokry","sequence":"first","affiliation":[{"name":"Lero -- the Irish Software Engineering Research Centre"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hatem M.","family":"El-Boghdadi","sequence":"additional","affiliation":[{"name":"Cairo University, Egypt"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,9]]},"reference":[{"volume-title":"Proceedings of the 11th International Workshop on Software & Compilers for Embedded Systems (SCOPES&rsquo;\u201908)","author":"Ali H.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Atri S. Ramanujam J. and Kandemir M. 2001. Improving Offset Assignment for Embedded Processors. Springer 158--172. Atri S. Ramanujam J. and Kandemir M. 2001. Improving Offset Assignment for Embedded Processors . Springer 158--172.","DOI":"10.1007\/3-540-45574-4_11"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380220202"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/513918.513975"},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Falk H. and Marwedel P. 2004. Source Code Optimization Techniques for Data Flow Dominated Embedded Software Source Level Optimizations. Springer. Falk H. and Marwedel P. 2004. Source Code Optimization Techniques for Data Flow Dominated Embedded Software Source Level Optimizations . Springer.","DOI":"10.1007\/978-1-4020-2829-8"},{"key":"e_1_2_1_6_1","unstructured":"Hong J. 2002. Memory optimization techniques for embedded systems. Ph.D. thesis LSU Dept. of ECE. Hong J. 2002. Memory optimization techniques for embedded systems. Ph.D. thesis LSU Dept. of ECE."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-72685-2_8"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Leupers R. 2000. Code Optimization Techniques for Embedded Processors: Methods Algorithms and Tools. Kluwer Academic Publisher. Leupers R. 2000. Code Optimization Techniques for Embedded Processors: Methods Algorithms and Tools . Kluwer Academic Publisher.","DOI":"10.1007\/978-1-4757-3169-9"},{"volume-title":"Proceedings of the 12th International Conference on Compiler Construction","series-title":"Lecture Notes in Computer Science","author":"Leupers R.","key":"e_1_2_1_9_1"},{"volume-title":"Proceedings of the IEEE\/ACM International Conference on Computer-Aided Design. 109--112","author":"Leupers R.","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"Liao S. 1996. Code generation and optimization for embedded digital signal processors. Ph.D. thesis MIT Department of EECS. Liao S. 1996. Code generation and optimization for embedded digital signal processors. Ph.D. thesis MIT Department of EECS.","DOI":"10.1007\/978-94-009-0187-2_7"},{"key":"e_1_2_1_12_1","unstructured":"OffsetStone. 2010. Address code optimization benchmark. http:\/\/www.address-code-optimization.org. OffsetStone. 2010. Address code optimization benchmark. http:\/\/www.address-code-optimization.org."},{"volume-title":"Proceedings of the 9th Workshop on Compilers for Parallel Computers. 281--290","author":"Ramanujam J.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/301631.301653"},{"key":"e_1_2_1_15_1","unstructured":"Salamy H.\n     and \n      \n      \n      Ramanujam J\n      \n  \n  . \n  2007\n  . An effective heuristic for simple offset assignment with variable coalescing. In Proceedings of the 19th International Workshop on Languages and Compilers for Parallel Computing Lecture Notes in Computer Science vol. \n  4382 Springer\n  . Salamy H. and Ramanujam J. 2007. An effective heuristic for simple offset assignment with variable coalescing. In Proceedings of the 19th International Workshop on Languages and Compilers for Parallel Computing Lecture Notes in Computer Science vol. 4382 Springer."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/378239.378521"},{"volume-title":"Proceedings of the International Conference on Signal Processing Applications and Technology.","author":"Zivoinovic V.","key":"e_1_2_1_17_1"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2345770.2345775","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2345770.2345775","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:21:11Z","timestamp":1750238471000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2345770.2345775"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,9]]},"references-count":17,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,9]]}},"alternative-id":["10.1145\/2345770.2345775"],"URL":"https:\/\/doi.org\/10.1145\/2345770.2345775","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2012,9]]},"assertion":[{"value":"2009-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}