{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,19]],"date-time":"2025-03-19T11:32:44Z","timestamp":1742383964275},"reference-count":14,"publisher":"World Scientific Pub Co Pte Lt","issue":"02","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Parallel Process. Lett."],"published-print":{"date-parts":[[2004,6]]},"abstract":"<jats:p> Register allocation in loops is generally performed after or during the software pipelining process. This is because doing a conventional register allocation as a first step without assuming a schedule lacks the information of interferences between values live ranges. Thus, the register allocator may introduce an excessive amount of false dependences that dramatically reduce the ILP (Instruction Level Parallelism). We present a new theoretical framework for controlling the register pressure before software pipelining. Thus is based on inserting some anti-dependence edges (register reuse edges) labeled with reuse distances, directly on the data dependence graph. In this new graph, we are able to fix the register pressure, measured as the number of simultaneously alive variables in any schedule. The determination of register and distance reuse is parameterized by the desired minimum initiation interval (MII) as well as by the register pressure constraints - either can be minimized while the other one is fixed. After scheduling, register allocation is done on conventional register sets or on rotating register files. We give an optimal exact model, and an approximation that generalizes the Ning-Gao [22] buffer optimization method. We provide experimental results which show good improvement compared to [22]. Our theoretical model considers superscalar, VLIW and EPIC\/IA64 processors. <\/jats:p>","DOI":"10.1142\/s012962640400188x","type":"journal-article","created":{"date-parts":[[2004,8,31]],"date-time":"2004-08-31T07:52:14Z","timestamp":1093938734000},"page":"287-313","source":"Crossref","is-referenced-by-count":15,"title":["Early Periodic Register Allocation on ILP Processors"],"prefix":"10.1142","volume":"14","author":[{"given":"Sid-Ahmed-Ali","family":"TOUATI","sequence":"first","affiliation":[{"name":"PRiSM, University of Versailles, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christine","family":"EISENBEIS","sequence":"additional","affiliation":[{"name":"INRIA-Futurs, Orsay Parc Club, France"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2011,11,21]]},"reference":[{"key":"rf3","volume-title":"Introduction to Algorithms","author":"Cormen T.","year":"1990"},{"key":"rf5","first-page":"379","volume":"4","author":"Darte A.","journal-title":"Parallel Processing Letters"},{"key":"rf6","doi-asserted-by":"publisher","DOI":"10.1016\/S0166-218X(99)00105-5"},{"key":"rf8","doi-asserted-by":"crossref","first-page":"103","DOI":"10.1007\/BF03356744","volume":"24","author":"Eichenberger A. E.","journal-title":"International Journal of Parallel Programming"},{"key":"rf12","doi-asserted-by":"publisher","DOI":"10.1142\/S0129054101000825"},{"key":"rf13","volume-title":"Graphes et algorithmes","author":"Gondran M.","year":"1995"},{"key":"rf14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"176","DOI":"10.1007\/3-540-55984-1_17","volume":"641","author":"Hendren L. J.","year":"1992"},{"key":"rf17","volume-title":"Conucurrency and Computation: Practice and Experience","author":"Jalby W.","year":"2004"},{"key":"rf19","doi-asserted-by":"publisher","DOI":"10.1007\/BF01759032"},{"key":"rf23","doi-asserted-by":"publisher","DOI":"10.1145\/143103.143141"},{"key":"rf24","volume-title":"Handbook of Discrete and Combinatorial Mathematics","author":"Rosen K. H.","year":"2000"},{"key":"rf26","volume-title":"Theory of Linear and Integer Programming","author":"Schrijver A.","year":"1987"},{"key":"rf27","doi-asserted-by":"publisher","DOI":"10.1145\/291006.291015"},{"key":"rf28","doi-asserted-by":"publisher","DOI":"10.1145\/381694.378852"}],"container-title":["Parallel Processing Letters"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S012962640400188X","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,6]],"date-time":"2019-08-06T12:14:26Z","timestamp":1565093666000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S012962640400188X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,6]]},"references-count":14,"journal-issue":{"issue":"02","published-online":{"date-parts":[[2011,11,21]]},"published-print":{"date-parts":[[2004,6]]}},"alternative-id":["10.1142\/S012962640400188X"],"URL":"https:\/\/doi.org\/10.1142\/s012962640400188x","relation":{},"ISSN":["0129-6264","1793-642X"],"issn-type":[{"value":"0129-6264","type":"print"},{"value":"1793-642X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,6]]}}}