ABSTRACT
A technique is presented for global analysis of program structure in order to perform compile time optimization of object code generated for expressions. The global expression optimization presented includes constant propagation, common subexpression elimination, elimination of redundant register load operations, and live expression analysis. A general purpose program flow analysis algorithm is developed which depends upon the existence of an "optimizing function." The algorithm is defined formally using a directed graph model of program flow structure, and is shown to be correct. Several optimizing functions are defined which, when used in conjunction with the flow analysis algorithm, provide the various forms of code optimization. The flow analysis algorithm is sufficiently general that additional functions can easily be defined for other forms of global code optimization.
- Aho, A., Sethi, R., and Ullman, J. A formal approach to code optimization. Proceedings of a Symposium on Compiler Optimization. University of Illinois at Urbana-Champaign, July, 1970. Google Scholar
Digital Library
- Allen, F. Program optimization. In Annual Review in Automatic Programming, Pergamon Press, 5(1969), 239-307.Google Scholar
- ____ A basis for program optimization. IFIP Congress 71, Ljubljana, August, 1971, 64-68.Google Scholar
- ____ Control flow analysis. Proceedings of a Symposium on Compiler Optimization, University of Illinois at Urbana-Champaign, July, 1970. Google Scholar
Digital Library
- Anderson, J. A note on some compiling algorithms. Comm. ACM 7, 3 (March 1964), 149-150. Google Scholar
Digital Library
- Arden, B. Galler, B., and Graham, R. An algorithm for translating boolean expressions. Jour. ACM 9, 2(April 1962), 222-239. Google Scholar
Digital Library
- Bachmann, P. A contribution to the problem of the optimization of programs. IFIP Congress 71, Ljubljana, August, 1971, 74-78.Google Scholar
- Ballard, A., and Tsichritzis, D. Transformations of programs. IFIP Congress 71, Ljubljana, August, 1971, 89-93.Google Scholar
- Breuer, M. Generation of optimal code for expressions via factorization. Comm. ACM 12, 6(June 1970), 333-340. Google Scholar
Digital Library
- Busam, V., and Englund, D. Optimization of expressions in FORTRAN. Comm. ACM 12, 12(Dec. 1969), 666-674. Google Scholar
Digital Library
- Cocke, J. Global common subexpression elimination. Proceedings of a Sybposium on Compiler Optimization. University of Illinois at Urbana-Champaign, July, 1970. Google Scholar
Digital Library
- ____, and Miller, R. Some analysis techniques for optimizing computer programs. Proc. Second International Conference of System Sciences, Hawaii, January, 1969, 143-146.Google Scholar
- ____, and Schwartz, J. Programming Languages and Their Compilers: Preliminary Notes. Courant Institute of Mathematical Sciences, New York University, 1970. Google Scholar
Digital Library
- Day, W. Compiler assignment of data items to registers. IBM Systems Journal, 8, 4(1970), 281-317.Google Scholar
- Earnest, C., Balke, K., and Anderson, J. Analysis of graphs by ordering nodes. Jour. ACM 19, 1(Jan. 1972), 23-42. Google Scholar
Digital Library
- Elson, M., and Rake, S. Code generation technique for large language compilers. IBM Systems Journal 3(1970), 166-188.Google Scholar
Digital Library
- Fateman, R. Optimal code for serial and parallel computation. Comm. ACM 12, 12(Dec. 1969), 694-695. Google Scholar
Digital Library
- Finkelstein, M. A compiler optimization technique. The Computer Review (Feb. 1968), 22-25.Google Scholar
- Floyd, R. An algorithm for coding efficient arithmetic operations. Comm. ACM 4, 1(Jan. 1961), 42-51. Google Scholar
Digital Library
- Frailey, D. Expression Optimization using unary complement operators. Proceedings of a Symposium on Compiler Optimization, University of Illinois at Urbana-Champaign, July, 1970. Google Scholar
Digital Library
- ____, A study of optimization using a general purpose optimizer. (PhD Thesis) Purdue University, Lafayette, Ind., January 1971. Google Scholar
Digital Library
- Freiburghouse, R. The MULTICS PL/I compiler. AFIPS Conf. Proc. FJCC (1969), 187-199.Google Scholar
- Gear, C. High speed compilation of efficient object code. Comm. ACM 8, 8(Aug. 1965), 483-488. Google Scholar
Digital Library
- Gries, D. Compiler Construction for Digital Computers. John Wiley and Sons, Inc., New York, 1971. Google Scholar
Digital Library
- Hill, V., Langmaack, H., Schwartz, H., and Seegumuller, G. Efficient handling of subscripted variables in ALGOL-60 compilers. Proc. Symbolic Languages in Data Processing, Gordon and Breach, New York, 1962, 331-340.Google Scholar
- Hopkins, M. An optimizing compiler design. IFIP Congress 71, Ljubljana, August, 1971, 69-73.Google Scholar
- Horowitz, L., Karp, R., Miller, R., and Winograd, S. Index register allocation. Jour. ACM 13, 1(Jan. 1966), 43-61. Google Scholar
Digital Library
- Huskey, H., and Wattenberg, W. Compiling techniques for boolean expressions and conditional statements in ALGOL-60. Comm. ACM 4, 1(Jan. 1961), 70-75. Google Scholar
Digital Library
- Huskey, H. Compiling techniques for algebraic expressions. Computer Journal 4, 4(April 1961), 10-19.Google Scholar
Cross Ref
- Huxtable, D. On writing an optimizing translator for ALGOL-60. In Introduction to System Programming, Academic Press, Inc., New York, 1964.Google Scholar
- IBM System/360 Operating System, FORTRAN IV (G and H) Programmer's Guide. c28-6817-1, International Business Machines, 1967, 174-179.Google Scholar
- Kennedy, K. A global flow analysis algorithm. Intern. J. of Computer Mathematics, Section A, Vol. 3, 1971, 5-15.Google Scholar
- Kildall, G. Global expression optimization during compilation. Technical Report No. TR# 72-06-02, University of Washington Computer Science Group, University of Washington, Seattle, Washington, June, 1972.Google Scholar
- ____ A code synthesis filter for basic block optimization. Technical Report No. TR# 72-01-01, University of Washington Computer Science Group, University of Washington, Seattle, Washington, January, 1972.Google Scholar
- Lowry, E., and Medlock, C. Object code optimization. Comm. ACM 12, 1(Jan. 1969), 13-22. Google Scholar
Digital Library
- Luccio, F. A comment on index register allocation. Comm. ACM 10,9 (Sept. 1967), 572-572-574. Google Scholar
Digital Library
- Maurer, W. Programming-An Introduction to Computer Language Technique. Holden-Day, San Francisco, 1968, 202-203.Google Scholar
Digital Library
- McKeeman, W. Peephole optimization. Comm. ACM 8, 7(July 1965), 443-444. Google Scholar
Digital Library
- Nakata, I. On compiling algorithms for arithmetic expressions. Comm. ACM 19, 8(Aug. 1967), 492-494. Google Scholar
Digital Library
- Nievergelt, J. On the automatic simplification of computer programs. Comm. ACM 8, 6(June 1965), 366-370. Google Scholar
Digital Library
- Painter, J. Compiler effectiveness. Proceedings of a Symposium on Compiler Optimization, University of Illinois at Urbana-Champaign, July, 1970.Google Scholar
- Randell, B., and Russell, L. ALGOL 60 Implementation. Academic Press, Inc., New York, 1964. Google Scholar
Digital Library
- Redziejowski, R. On arithmetic expressions and trees. Comm. ACM 12, 2(Feb. 1969), 81-84. Google Scholar
Digital Library
- Ryan, J. A direction-independent algorithm for determining the forward and backward compute points for a term or subscript during compilation. Computer Journal 9, 2(Aug. 1966), 157-160.Google Scholar
Cross Ref
- Schnieder, V. On the number of registers needed to evaluate arithmetic expressions. BIT 11(1971), 84-93.Google Scholar
Cross Ref
- Sethi, R., and Ullman, J. The generation of optimal code for arithmetic expressions. Jour. ACM 17, 4(Oct. 1970), 715-728. Google Scholar
Digital Library
- Wagner, R. Some techniques for algebraic optimization with application to matrix arithmetic expressions. Thesis, Carnegie-Mellon University, June, 1968. Google Scholar
Digital Library
- Yershov, A. On programming of arithmetic operations. Comm. ACM 1, 8(Aug. 1958), 3-6. Google Scholar
Digital Library
- ____ ALPHA-an automatic programming system of high efficiency. Jour. ACM 13, 1(Jan. 1966), 17-24. Google Scholar
Digital Library
- A unified approach to global program optimization
Recommendations
An enhanced particle swarm optimization with levy flight for global optimization
Enhanced PSO with levy flight.Random walk of the particles.High convergence rate.Provides solution accuracy and robust. Hüseyin Haklı and Harun Uguz (2014) proposed a novel approach for global function optimization using particle swarm optimization with ...
Gravity-based particle swarm optimization with hybrid cooperative swarm approach for global optimization
Premature convergence has been recognized as one of the major drawbacks of particle swarm optimization PSO algorithms. In particular, the lack of diversity in PSO performance is an essential cause that commonly results in high susceptibility to ...
Non-parametric particle swarm optimization for global optimization
Proposing an improved PSO scheme called non-parametric particle swarm optimization (NP-PSO).Combining local and global topologies with two quadratic interpolation operations to increase the search ability in NP-PSO.Removing PSO parameters in the ...




Comments