{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,2,1]],"date-time":"2023-02-01T03:14:51Z","timestamp":1675221291855},"reference-count":46,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2004,4]]},"abstract":"In a compiling system that attempts to improve code for a whole program by optimizing across procedures, the compiler can generate better code for a specific procedure if it knows which variables will have constant values, and what those values will be, when the procedure is invoked. This paper presents a general algorithm for determining for each procedure in a given program the set of inputs that will have known constant values at run time. The precision of the answers provided by this method are dependent on the precision of the local analysis of individual procedures in the program. Since the algorithm is intended for use in a sophisticated software development environment in which local analysis would be provided by the source editor, the quality of the answers will depend on the amount of work the editor performs. Several reasonable strategies for local analysis with different levels of complexity and precision are suggested and the results of a prototype implementation in a vectorizing Fortran compiler are presented.<\/jats:p>","DOI":"10.1145\/989393.989412","type":"journal-article","created":{"date-parts":[[2005,11,14]],"date-time":"2005-11-14T18:08:27Z","timestamp":1131991707000},"page":"155-166","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Interprocedural constant propagation"],"prefix":"10.1145","volume":"39","author":[{"given":"David","family":"Callahan","sequence":"first","affiliation":[{"name":"Cray Research, Inc., Seattle, WA"}]},{"given":"Keith D.","family":"Cooper","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}]},{"given":"Ken","family":"Kennedy","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}]},{"given":"Linda","family":"Torczon","sequence":"additional","affiliation":[{"name":"Rice University, Houston, TX"}]}],"member":"320","published-online":{"date-parts":[[2004,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/0743-7315(88)90015-9"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.246.0695"},{"key":"e_1_2_1_3_1","volume-title":"Supercomputers: Design and Applications. IEEE Computer Society Press","author":"Allen J.","year":"1984"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806972"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/647472.727436"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPP.1994.59"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/13310.13328"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/169683.169678"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/223428.207113"},{"key":"e_1_2_1_10_1","first-page":"522","volume-title":"Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing","author":"Carle A.","year":"1993"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/960116.53996"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/13310.13317"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/366062.366082"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/173262.155099"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00290339"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/512927.512945"},{"issue":"1","key":"e_1_2_1_18_1","first-page":"8","article-title":"The CONVEX application compiler","volume":"3","author":"Metzger R.","year":"1991","journal-title":"Fortran Journal"},{"key":"e_1_2_1_19_1","volume-title":"Department of Computer Science","author":"Murphy B. R.","year":"2001"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512961"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/646619.697565"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/359810.359830"},{"key":"e_1_2_1_24_1","volume-title":"Department of Computer Science","author":"Torczon L.","year":"1985"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312852"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/318593.318659"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/103135.103136"},{"key":"e_1_2_1_28_1","unstructured":"{AhUl 77} A. Aho and J. Ullman. Principles of Compiler Design. Addison-Wesley. 1977.]] {AhUl 77} A. Aho and J. Ullman. Principles of Compiler Design. Addison-Wesley. 1977.]]"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings IFIP Congress 74","author":"Allen F. E.","year":"1974"},{"key":"e_1_2_1_30_1","volume-title":"IEEE Computer Society Press","author":"Allen J. R.","year":"1984"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/872732.806972"},{"key":"e_1_2_1_32_1","unstructured":"{Coop 83} K. D. Cooper. Interprocedural information in a programming environment. Ph.D. Dissertation Department of Mathematical Sciences Rice University Houston TX. May 1983.]] {Coop 83} K. D. Cooper. Interprocedural information in a programming environment. Ph.D. Dissertation Department of Mathematical Sciences Rice University Houston TX. May 1983.]]"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/318593.318658"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/502949.502898"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/800225.806832"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the Nineteenth Annual Hawaii International Conference on Systems Sciences.","author":"Cooper KT","year":"1986"},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"{DBMS 79} J. J. Dongarra J. R. Bunch C. B. Moler and G. W. Stewart. LINPACK Users' Guide. SIAM Philadelphia. 1979.]] {DBMS 79} J. J. Dongarra J. R. Bunch C. B. Moler and G. W. Stewart. LINPACK Users' Guide. SIAM Philadelphia. 1979.]]","DOI":"10.1137\/1.9781611971811"},{"key":"e_1_2_1_39_1","volume-title":"Proceedings of the Eighteenth Annual Hawaii International Conference on Systems Sciences","author":"Hood R. T.","year":"1985"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00290339"},{"issue":"3","key":"e_1_2_1_41_1","article-title":"Use-definition chains with applications","volume":"3","author":"Kennedy K.","year":"1978","journal-title":"J. Computer Languages"},{"key":"e_1_2_1_42_1","first-page":"5","article-title":"A survey of data flow analysis techniques. Program Flow Analysis: Theory and Applications (S.S. Muchnick and N.D. Jones, eds.)","author":"Kennedy K.","year":"1981","journal-title":"Prentice-Hall."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/512927.512945"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/567532.567556"},{"key":"e_1_2_1_45_1","unstructured":"{ReLe 82} J. H. Reif and H. R. Lewis. Symbolic evaluation and the global value graph. TR 37-82 Aiken Computation Laboratory Harvard University. 1982.]] {ReLe 82} J. H. Reif and H. R. Lewis. Symbolic evaluation and the global value graph. TR 37-82 Aiken Computation Laboratory Harvard University. 1982.]]"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/359810.359830"},{"key":"e_1_2_1_47_1","unstructured":"{Torc 85} L. Torczon. Compilation dependences in an ambitious optimizing compiler. Ph.D. Dissertation Department of Computer Science Rice University Houston TX. May 1985.]] {Torc 85} L. Torczon. Compilation dependences in an ambitious optimizing compiler. Ph.D. Dissertation Department of Computer Science Rice University Houston TX. May 1985.]]"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/318593.318659"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/989393.989412","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,3]],"date-time":"2023-01-03T11:33:57Z","timestamp":1672745637000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/989393.989412"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004,4]]},"references-count":46,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2004,4]]}},"alternative-id":["10.1145\/989393.989412"],"URL":"https:\/\/doi.org\/10.1145\/989393.989412","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"value":"0362-1340","type":"print"},{"value":"1558-1160","type":"electronic"}],"subject":[],"published":{"date-parts":[[2004,4]]},"assertion":[{"value":"2004-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}