{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,29]],"date-time":"2025-09-29T11:59:22Z","timestamp":1759147162406},"reference-count":15,"publisher":"Wiley","issue":"9","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":8094,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1984,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Emerging peephole optimizers can relieve code generators of much case analysis, but delaying code generation decisions requires register allocation algorithms that accept object code instead of the more usual intermediate code. This paper describes two programs that implement such algorithms for a retargetable optimizing compiler. In a machine\u2010independent fashion, they allocate and assign registers, eliminate common subexpressions (including often\u2010missed machine\u2010specific ones), identify dead variables, and define windows for the companion peephole optimizer. Their techniques for handling machine\u2010specific data should generalize to other optimizations as well.<\/jats:p>","DOI":"10.1002\/spe.4380140906","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T04:03:18Z","timestamp":1163822598000},"page":"857-865","source":"Crossref","is-referenced-by-count":21,"title":["Register allocation and exhaustive peephole optimization"],"prefix":"10.1002","volume":"14","author":[{"given":"Jack W.","family":"Davidson","sequence":"first","affiliation":[]},{"given":"Christopher W.","family":"Fraser","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/357094.357098"},{"key":"e_1_2_1_3_2","unstructured":"J. W.Davidson Simplifying code generation through peephole optimization PhD dissertion Department of Computer Science University of Arizona 1981."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/2166.357219"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/954269.954278"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/361179.361201"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806973"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1016\/0096-0551(81)90048-5"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/357094.357097"},{"key":"e_1_2_1_10_2","doi-asserted-by":"crossref","unstructured":"R. S.GlanvilleandS. L.Graham \u2018A new method for compiler code generation\u2019 Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages January1978 pp.231\u2013240.","DOI":"10.1145\/512760.512785"},{"key":"e_1_2_1_11_2","volume-title":"Computer Structures: Readings and Examples","author":"Bell C. G.","year":"1971"},{"key":"e_1_2_1_12_2","volume-title":"Compiler Construction for Digital Computers","author":"Gries D.","year":"1971"},{"key":"e_1_2_1_13_2","volume-title":"The Design of an Optimizing Compiler","author":"Wulf W.","year":"1975"},{"key":"e_1_2_1_14_2","volume-title":"Principles of Compiler Design","author":"Aho A. V.","year":"1977"},{"key":"e_1_2_1_15_2","unstructured":"T. R.Crowley \u2018Combining table\u2010driven effect selection and description\u2010driven peephole optimization for automatic code selection\u2019 MS thesis Department of Electrical Engineering and Computer Science MIT 1982."},{"key":"e_1_2_1_16_2","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1978"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380140906","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380140906","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,19]],"date-time":"2023-10-19T23:06:36Z","timestamp":1697756796000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380140906"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1984,9]]},"references-count":15,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1984,9]]}},"alternative-id":["10.1002\/spe.4380140906"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380140906","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1984,9]]}}}