{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:24:10Z","timestamp":1750307050233,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2012,6,1]],"date-time":"2012-06-01T00:00:00Z","timestamp":1338508800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["0811457, 0926687, 1059417"],"award-info":[{"award-number":["0811457, 0926687, 1059417"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006751","name":"U.S. Army","doi-asserted-by":"publisher","award":["W911NF-10-1-0004"],"award-info":[{"award-number":["W911NF-10-1-0004"]}],"id":[{"id":"10.13039\/100006751","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2012,6]]},"abstract":"<jats:p>Digital Signal Processors (DSPs) are a family of embedded processors designed under tight memory, area, and cost constraints. Many DSPs use irregular addressing modes where base-plus-offset mode is not supported. However, they often have Address Generation Units (AGUs) that can perform auto-increment\/decrement address arithmetic instructions in parallel with Load\/Store instructions. This feature can be utilized to reduce the number of explicit address arithmetic instructions and thus reduce the embedded application code size. This code size reduction is essential for this family of DSP as the code usually resides in the ROM and hence the code size directly translates into silicon area. An effective technique for optimized code generation is offset assignment. This is a well-used technique in the literature to decrease the code size by finding an offset assignment that can effectively utilize auto-increment\/decrement. This problem is known as simple offset assignment when there is only one address register and as General Offset Assignment (GOA) for multiple available address registers. In this article, we present an optimal Integer Linear Programming (ILP) solution to the offset assignment problem with variable coalescing where more than one variable can share the same memory location. Variable permutation is also formulated to find the best access sequence to achieve the best offset assignment that decreases the code size the most. Experimental results on several benchmarks show the effectiveness of our variable permutation technique as well as the large improvement from the ILP-based solutions compared to heuristics.<\/jats:p>","DOI":"10.1145\/2209291.2209301","type":"journal-article","created":{"date-parts":[[2012,8,1]],"date-time":"2012-08-01T17:35:16Z","timestamp":1343842516000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["An ILP solution to address code generation for embedded applications on digital signal processors"],"prefix":"10.1145","volume":"17","author":[{"given":"Hassan","family":"Salamy","sequence":"first","affiliation":[{"name":"Texas State University, San Marcos, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"J.","family":"Ramanujam","sequence":"additional","affiliation":[{"name":"Louisiana State University, Baton Rouge, LA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,7,5]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","unstructured":"Atri S. Ramanujam J. and \n      Kandemir M\n  . \n  2001\n  . Improving offset assignment for embedded processors. In Languages and Compilers for High-Performance Computing S. Midkiff et al. (eds.) Lecture Notes in Computer Science Springer-Verlag\n  .   Atri S. Ramanujam J. and Kandemir M. 2001. Improving offset assignment for embedded processors. In Languages and Compilers for High-Performance Computing S. Midkiff et al. (eds.) Lecture Notes in Computer Science Springer-Verlag.","DOI":"10.1007\/3-540-45574-4_11"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380220202"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1132357.1132365"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2003.814955"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/266388.266436"},{"volume-title":"Proceedings of the International Conference on High Performance Embedded Architectures and Compilers (HiPEAC).","author":"Huynh J.","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","unstructured":"ILOG Inc. 2012. ILOG CPLEX 8.1 reference manual. http:\/\/www.ilog.com\/products\/cplex.  ILOG Inc. 2012. ILOG CPLEX 8.1 reference manual. http:\/\/www.ilog.com\/products\/cplex."},{"volume-title":"Proceedings of IEEE International Symposium on Microarchitecture. 330--335","author":"Lee C.","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/501790.501827"},{"volume-title":"Proceedings of the 12th International Conference on Compiler Construction (CC)","series-title":"Lecture Notes in Computer Science","author":"Leupers R.","key":"e_1_2_1_10_1"},{"volume-title":"Proceedings of the 11th International System Synthesis Symposium (ISSS).","author":"Leupers R.","key":"e_1_2_1_11_1"},{"volume-title":"Proceedings of the International Conference on Computer-Aided Design (ICCAD).","author":"Leupers R.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/951710.951715"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755888.1755904"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207139"},{"volume-title":"Advanced Compiler Design and Implementation","author":"Muchnick S.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","unstructured":"Offset. 2012. OffsetStone. http:\/\/www.address-code-optimization.org.  Offset. 2012. OffsetStone. http:\/\/www.address-code-optimization.org."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1196636.1196641"},{"volume":"2027","volume-title":"Proceedings of the 10th International Conference on Compiler Construction (CC'01)","author":"Ottoni G.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127908.1127919"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301653"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/266021.266103"},{"key":"e_1_2_1_24_1","article-title":"DSP code optimization utilizing memory addressing operation. IEICE","author":"Sugino N.","year":"1996","journal-title":"Trans. Fundam. 1217--1223."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/378239.378521"},{"volume-title":"Proceedings of the International Symposium on Circuits and Systems (ISCAS).","author":"Wess B.","key":"e_1_2_1_26_1"},{"volume-title":"Proceedings of the International Conference on Acoustics, Speech and Signal Processing (ICASSP).","author":"Wess B.","key":"e_1_2_1_27_1"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/780732.780763"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2209291.2209301","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2209291.2209301","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:21:05Z","timestamp":1750238465000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2209291.2209301"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,6]]},"references-count":27,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,6]]}},"alternative-id":["10.1145\/2209291.2209301"],"URL":"https:\/\/doi.org\/10.1145\/2209291.2209301","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2012,6]]},"assertion":[{"value":"2011-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-07-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}