{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,9]],"date-time":"2026-05-09T04:29:09Z","timestamp":1778300949799,"version":"3.51.4"},"reference-count":11,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4685,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1994,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Most conventional compilers fail to allocate array elements to registers because standard data\u2010flow analysis treats arrays like scalars, making it impossible to analyze the definitions and uses of individual array elements. This deficiency is particularly troublesome for floating\u2010point registers, which are most often used as temporary repositories for subscripted variables.<\/jats:p><jats:p>This paper presents a source\u2010to\u2010source transformation, called <jats:italic>scalar replacement<\/jats:italic>, that finds opportunities for reuse of subscripted variables and replaces the references involved by references to temporary scalar variables. The scalar replaced variables are more likely to be assigned to registers by the coloring\u2010based register allocators found in most compilers than are their unreplaced counterparts. The algorithm presented here extends previous techniques for scalar replacement by allowing the presence of forward conditional control flow within loop bodies through the mapping of partial redundancy elimination to scalar replacement. Finally, experimental results show that scalar replacement is extremely effective. On kernels, integer\u2010factor improvements over code generated by a good optimizing compiler of conventional design are possible.<\/jats:p>","DOI":"10.1002\/spe.4380240104","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T16:48:57Z","timestamp":1163782137000},"page":"51-77","source":"Crossref","is-referenced-by-count":82,"title":["Scalar replacement in the presence of conditional control flow"],"prefix":"10.1002","volume":"24","author":[{"given":"Steve","family":"Carr","sequence":"first","affiliation":[]},{"given":"Ken","family":"Kennedy","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","first-page":"186","volume-title":"Supercomputers: Design and Applications","author":"Allen J. R.","year":"1984"},{"key":"e_1_2_1_3_2","unstructured":"D.Callahan K.Cooper R.Hood K.KennedyandL.Torczon \u2018ParaScope: a parallel programming environment\u2019 Proc. First International Conference on Supercomputing Athens Greece June1987."},{"key":"e_1_2_1_4_2","unstructured":"J. R.AllenandK.Kennedy \u2018Vector register allocation\u2019 Technical Report TR86\u201345 Department of Computer Science Rice University 1988."},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/93548.93553"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(88)90002-0"},{"key":"e_1_2_1_7_2","volume-title":"The Structure of Computers and Computations","author":"Kuck D.","year":"1978"},{"key":"e_1_2_1_8_2","volume-title":"Proc. of the First International Conference on Supercomputing","author":"Gannon D.","year":"1987"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/48022.214509"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/359060.359069"},{"key":"e_1_2_1_11_2","volume-title":"Computers and Intractability: A Guide to the Theory of NP\u2010Completeness","author":"Garey M. R.","year":"1979"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/173262.155097"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380240104","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380240104","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T23:49:36Z","timestamp":1698191376000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380240104"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,1]]},"references-count":11,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1994,1]]}},"alternative-id":["10.1002\/spe.4380240104"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380240104","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,1]]}}}