{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,19]],"date-time":"2025-03-19T12:08:12Z","timestamp":1742386092447,"version":"3.33.0"},"publisher-location":"Berlin, Heidelberg","reference-count":32,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540040293"},{"type":"electronic","value":"9783540357674"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2003]]},"DOI":"10.1007\/3-540-35767-x_16","type":"book-chapter","created":{"date-parts":[[2007,8,16]],"date-time":"2007-08-16T07:19:15Z","timestamp":1187248755000},"page":"239-253","source":"Crossref","is-referenced-by-count":5,"title":["MIRS: Modulo Scheduling with Integrated Register Spilling"],"prefix":"10.1007","author":[{"given":"Javier","family":"Zalamea","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Josep","family":"Llosa","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eduard","family":"Ayguad\u00e9","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mateo","family":"Valero","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2003,5,13]]},"reference":[{"key":"16_CR1","unstructured":"A. Aiken and A. Nicolau. A realistic resource-constrained software pipelining algorithm. Advances in Languages and Compilers for Parallel Processing, pages 274\u2013290, 1991."},{"issue":"3","key":"16_CR2","doi-asserted-by":"publisher","first-page":"367","DOI":"10.1145\/212094.212131","volume":"27","author":"V. Allan","year":"1995","unstructured":"V. Allan, R. Jones, R. Lee, and S. Allan. Software pipelining. ACM Computing Surveys, 27(3): 367\u2013432, September 1995.","journal-title":"ACM Computing Surveys"},{"key":"16_CR3","doi-asserted-by":"crossref","unstructured":"J. Allen, K. Kennedy, and J. Warren. Conversion of control dependence to data dependence. In Proc. 10th annual Symposium on Principles of Programming Languages, January 1983.","DOI":"10.1145\/567067.567085"},{"key":"16_CR4","unstructured":"E. Ayguad\u00e9, C. Barrado, A. Gonz\u00e1lez, J. Labarta, J. Llosa, D. L\u00f3pez, S. Moreno, D. Padua, F. Reig, Q. Riera, and M. Valero. Ictineo: a tool for instruction level parallelism research. Technical Report UPC-DAC-96-61, Universitat Polit\u00e8cnica de Catalunya, December 1996."},{"key":"16_CR5","doi-asserted-by":"crossref","unstructured":"D. Bernstein, D. Goldin, M. Golumbic, H. Krawczyk, Y. Mansour, I. Nahshon, and R. Pinter. Spill code minimization techniques for optimizing compilers. In Proc. of the ACM SIGPLAN\u201989 Conf. on Programming Languages Design and Implementation, pages 258\u2013263, July 1989.","DOI":"10.1145\/74818.74841"},{"key":"16_CR6","unstructured":"M. Berry, D. Chen, P. Koss, and D. Kuck. The Perfect Club benchmarks: Effective performance evaluation of supercomputers. Technical Report 827, Center for Supercomputing Research and Development, November 1988."},{"key":"16_CR7","doi-asserted-by":"crossref","unstructured":"P. Briggs, K. Cooper, K. Kennedy, and L. Torczon. Coloring heuristics for register allocation. In Proc. of the ACM SIGPLAN\u201989 Conf. on Programming Language Design and Implementation, pages 275\u2013284, June 1989.","DOI":"10.1145\/73141.74843"},{"issue":"3","key":"16_CR8","doi-asserted-by":"publisher","first-page":"428","DOI":"10.1145\/177492.177575","volume":"16","author":"P. Briggs","year":"1994","unstructured":"P. Briggs, K. Cooper, and L. Torczon. Improvements to graph coloring register allocation. ACM Transactions on Programming Languages and Systems, 16(3):428\u2013455, May 1994.","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"16_CR9","doi-asserted-by":"crossref","unstructured":"D. Callahan and B. Koblenz. Register allocation via hierarchical graph coloring. In Proc. of the ACM SIGPLAN\u201991 Conf. on Programming Language Design and Implementation, pages 192\u2013203, June 1991.","DOI":"10.1145\/113445.113462"},{"key":"16_CR10","doi-asserted-by":"crossref","unstructured":"G. Chaitin. Register allocation and spilling via graph coloring. In Proc. ACM SIGPLAN Symp. on Compiler Construction, pages 98\u2013105, June 1982.","DOI":"10.1145\/800230.806984"},{"issue":"9","key":"16_CR11","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1109\/C-M.1981.220595","volume":"14","author":"A. Charlesworth","year":"1981","unstructured":"A. Charlesworth. An approach to scientific array processing: The architectural design of the AP120B\/FPS-164 family. Computer, 14(9):18\u201327, 1981.","journal-title":"Computer"},{"key":"16_CR12","doi-asserted-by":"crossref","unstructured":"A. K. Dani, V. J. Ramanan, and R. Govindarajan. Register-sensitive software pipelining. In Procs. of the Merged 12th International Parallel Processing and 9th International Symposium on Parallel and Distributed Systems, april 1998.","DOI":"10.1109\/IPPS.1998.669910"},{"issue":"1\/2","key":"16_CR13","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1007\/BF01205184","volume":"7","author":"J. Dehnert","year":"1993","unstructured":"J. Dehnert and R. Towle. Compiling for the Cydra 5. The Journal of Supercomputing, 7(1\/2): 181\u2013228, May 1993.","journal-title":"The Journal of Supercomputing"},{"key":"16_CR14","doi-asserted-by":"crossref","unstructured":"A. Eichenberger and E. Davidson. Stage scheduling: A technique to reduce the register requirements of a modulo schedule. In Proc. of the 28th Annual Int. Symp. on Microarchitecture (MICRO-28), pages 338\u2013349, November 1995.","DOI":"10.1109\/MICRO.1995.476843"},{"key":"16_CR15","unstructured":"C. Eisenbeis, S. Lelait, and B. Marmol. The meeting graph: a new model for loop cyclic register allocation. In Proc. of the Fifth Workshop on Compilers for Parallel Computers (CPC95), pages 503\u2013516, June 1995."},{"key":"16_CR16","unstructured":"L. Hendren, G. Gao, E. Altman, and C. Mukerji. Register allocation using cyclic interval graphs: A new approach to an old problem. ACAPS Tech. Memo 33, Advanced Computer Architecture and Program Structures Group, McGill University, 1992."},{"key":"16_CR17","doi-asserted-by":"crossref","unstructured":"R. Huff. Lifetime-sensitive modulo scheduling. In Proc. of the 6th Conference on Programming Language, Design and Implementation, pages 258\u2013267, 1993.","DOI":"10.1145\/155090.155115"},{"key":"16_CR18","doi-asserted-by":"crossref","unstructured":"S. Jain. Circular scheduling: A new technique to perform software pipelining. In Proc. of the ACM SIGPLAN\u201991 Conference on Programming Language Design and Implementation, pages 219\u2013228, June 1991.","DOI":"10.1145\/113445.113464"},{"key":"16_CR19","doi-asserted-by":"crossref","unstructured":"M. Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings of the SIGPLAN\u201988 Conference on Programming Language Design and Implementation, pages 318\u2013328, June 1988.","DOI":"10.1145\/960116.54022"},{"key":"16_CR20","doi-asserted-by":"crossref","unstructured":"J. Llosa, A. Gonz\u00e1lez, E. Ayguad\u00e9, and M. Valero. Swing modulo scheduling: A lifetime-sensitive approach. In IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques (PACT\u201996), pages 80\u201386, October 1996.","DOI":"10.1109\/PACT.1996.554030"},{"key":"16_CR21","doi-asserted-by":"crossref","unstructured":"J. Llosa, M. Valero, and E. Ayguad\u00e9. Heuristics for register-constrained software pipelining. In Proc. of the 29th Annual Int. Symp. on Microarchitecture (MICRO-29), pages 250\u2013261, December 1996.","DOI":"10.1109\/MICRO.1996.566466"},{"issue":"2","key":"16_CR22","doi-asserted-by":"publisher","first-page":"121","DOI":"10.1023\/A:1018743102645","volume":"26","author":"J. Llosa","year":"1998","unstructured":"J. Llosa, M. Valero, and E. Ayguad\u00e9. Quantitative evaluation of register pressure on software pipelined loops. International Journal of Parallel Programming, 26(2):121\u2013142, April 1998.","journal-title":"International Journal of Parallel Programming"},{"key":"16_CR23","doi-asserted-by":"crossref","unstructured":"J. Llosa, M. Valero, E. Ayguad\u00e9, and A. Gonz\u00e1lez. Hypernode reduction modulo scheduling. In Proc. of the 28th Annual Int. Symp. on Microarchitecture (MICRO-28), pages 350\u2013360, November 1995.","DOI":"10.1109\/MICRO.1995.476844"},{"key":"16_CR24","doi-asserted-by":"crossref","unstructured":"W. Mangione-Smith, S. Abraham, and E. Davidson. Register requirements of pipelined processors. In Proc. of the Int. Conference on Supercomputing, pages 260\u2013246, July 1992.","DOI":"10.1145\/143369.143419"},{"key":"16_CR25","unstructured":"S. Ramakrishnan. Software pipelining in PA-RISC compilers. Hewlett-Packard Journal, pages 39\u201345, July 1992."},{"key":"16_CR26","doi-asserted-by":"crossref","unstructured":"B. Rau and C. Glaeser. Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. In Proc. of the 14th Annual Microprogramming Workshop, pages 183\u2013197, October 1981.","DOI":"10.1145\/1014192.802449"},{"key":"16_CR27","doi-asserted-by":"crossref","unstructured":"B. Rau, M. Lee, P. Tirumalai, and P. Schlansker. Register allocation for software pipelined loops. In Proc. of the ACM SIGPLAN\u201992 Conference on Programming Language Design and Implementation, pages 283\u2013299, June 1992.","DOI":"10.1145\/143095.143141"},{"key":"16_CR28","doi-asserted-by":"crossref","unstructured":"B. R. Rau. Iterative modulo scheduling: An algorithm for software pipelining loops. In Proc. of the 27th Annual International Symposium on Microarchitecture, pages 63\u201374, November 1994.","DOI":"10.1145\/192724.192731"},{"key":"16_CR29","doi-asserted-by":"crossref","unstructured":"J. Ruttenberg, G. Gao, A. Stoutchinin, and W. Lichtenstein. Software pipelining showdown: Optimal vs. heuristic methods in a production compiler. In Proc. of the ACM SIGPLAN\u201996 Conf. on Programming Languages Design and Implementation, pages 1\u201311, May 1996.","DOI":"10.1145\/249069.231385"},{"key":"16_CR30","doi-asserted-by":"crossref","unstructured":"J. Wang, A. Krall, M. A. Ertl, and C. Eisenbeis. Software pipelining with register allocation and spilling. In Proc. of the 27th Annual Int. Symp. on Microarchitecture, pages 95\u201399, November 1994.","DOI":"10.1145\/192724.192734"},{"key":"16_CR31","doi-asserted-by":"crossref","unstructured":"J. Zalamea, J. Llosa, E. Ayguad\u00e9, and M. Valero. Improved spill code generation for software pipelined loops. In Procs. of the Programming Languages Design and Implementation (PLDI\u201900), pages 134\u2013144., June 2000.","DOI":"10.1145\/358438.349319"},{"key":"16_CR32","unstructured":"J. Zalamea, J. Llosa, E. Ayguad\u00e9, and M. Valero. MIRS: Modulo scheduling with integrated register spilling. Technical Report UPC-DAC-2000-68, Universitat Polit\u00e8cnica de Catalunya, November 2000."}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-35767-X_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,20]],"date-time":"2025-01-20T11:23:24Z","timestamp":1737372204000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-35767-X_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003]]},"ISBN":["9783540040293","9783540357674"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/3-540-35767-x_16","relation":{},"ISSN":["0302-9743"],"issn-type":[{"type":"print","value":"0302-9743"}],"subject":[],"published":{"date-parts":[[2003]]}}}