Abstract
Static single assignment form represents data dependences elegantly and provides a basis for powerful optimizations. Table-driven techniques for peephole optimization and code generation are straightforward and effective. it is natural to want to use both together in a code optimizer. However, doing so reveals that static single assignment form does not remove all antidependences, and that it conflicts with table-driven code generation for 2-address machines. This paper describes these problems and how to solve them.
- 1 AHO, A. V., GANAPATHI, M., AND TJIANG, S. W.K. Code generation using tree matching and dynamic programming. ACM Trans. Program. Lang. Syst. 11, 4 (1989), 491-516. Google Scholar
- 2 ALPERN, B., WEGMAN, M. N., AND ZADECK, F.K. Detecting equality of variables in programs. In Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages (1988), ACM, New York, 1-11. Google Scholar
- 3 CHAITIN, G. J., AUSLANDER, M. A., CHANDRA, A. K., COCKE, J., HOPKINS, M. E., AND MARKSTEIN, P.W. Register allocation via coloring. Comput. Lang. 6, 1 (1981), 47-57.Google Scholar
- 4 CHOI, J., CYTRON, R., AND FERRANTE, J. Automatic construction of sparse data flow evaluation graphs, in Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages (1991), ACM, New York. Google Scholar
- 5 CYTRON, R., FERRANTE, J., ROSEN, B., WEGMAN, M., AND ZADECK, K. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13, 4 (1991), 451-490. Google Scholar
- 6 CYTRON, R., LOWRY, A., AND ZADECK, K. Code motion of control structures in high-level languages. In Conference Record of the Thirteenth Annual ACM Symposium on Principles of Programming Languages (1986), 70-85. Google Scholar
- 7 DAVIDSON, J.W. Simplifying code generation through peephole optimizations. Ph.D. dissertation, Dept. of Computer Science, Univ. of Arizona, 1981. Google Scholar
- 8 DAVIDSON, J. W., AND FRASER, C.W. Code selection through object code optimization. ACM Trans. Program. Lang. Syst. 6 4 (1984), 505-526. Google Scholar
- 9 DAVIDSON, J. W., AND FRASER, C.W. The design and application of a retargetable peephole optimizer. ACM Trans. Program. Lang. Syst. 2 2 (1980), 191-202. Google Scholar
- 10 GANAPATHI, M., AND FISCHER, C.N. Integrating code generation and peephole optimization. Acta Inf. 25 (1988), 85-109. Google Scholar
- 11 GANAPATHI, M., FISCHER, C. N., AND HENNESSY, J.a. Retargetable compiler code generation. ACM Comput. Surv. 14, 4 (1982), 573-592. Google Scholar
- 12 GLANVILLE, R. S., AND GRAHAM, S. L. A new method for compiler code generation. In Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages (1978), ACM, New York, 509-514. Google Scholar
- 13 GRAHAM, S.L. Table-driven code generation. IEEE Comput. 13, 8 (1980), 25-34.Google Scholar
- 14 GRAHAM, S. L., HENRY, R. R., AND SCHULMAN, R. A. An experiment in table-driven code generation. In Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Not. 17, 16 (1982), 32-43. Google Scholar
- 15 HEBEL, K.J. An environment for the development of digital signal processing software. Ph.D. dissertation, Dept. of Electrical Engineering, Univ. of Illinois at Urbana-Champaign, 1989. Google Scholar
- 16 JOHNSON, R. E., GRAVER, J. O., AND ZURAWSKI, L. W. TS: An optimizing compiler for Smalltalk. In Proceedings of OOPSLA "88, Object-Oriented Programming Systems, Languages and Applications, SIGPLAN Not. 23, 11 (1988), 18-26. Google Scholar
- 17 JOHNSON, R. E., MCCONNELL, C., AND LAKE, J.M. The RTL system: A framework for code optimization. Tech. Rep. UIUCDCS-R-9-1698, Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, 1991.Google Scholar
- 18 KUCK, D.J. The Structure of Computers and Computations. Wiley, New York, 1978. Google Scholar
- 19 PADUA, D. A., AND WOLFE, M J. Advanced compiler optimizations for supercomputers. Commun. ACM 29, 12 (1986), 1184-1201. Google Scholar
- 20 ROSEN, B. K., WEGMAN, M. N., AND ZADECK, F. K. Global value numbers and redundant computations. In Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages (1988), ACM, New York, 12-27. Google Scholar
- 21 WEGMAN, M. N., AND ZADECK, F.K. Constant propagation with conditional branches. ACM Trans. Program. Lang. Syst. 13, 2 (1991), 181-210. Google Scholar
Index Terms
Using static single assignment form in a code optimizer
Recommendations
A type system equivalent to static single assignment
PPDP '06: Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programmingThis paper develops a static type system equivalent to static single assignment (SSA) form. In this type system, a type of a variable at some program point represents the control flows from the assignment statements that reach the program point. For ...
Extension of Context Free Grammar for Intermediate Code and Peephole Optimization Rule Parsers
ACCT '15: Proceedings of the 2015 Fifth International Conference on Advanced Computing & Communication TechnologiesFor the purpose of writing and constructing compilers, interpreters and optimizers the parsing of code is mandatory. The syntactic analysis of the input intermediate code into its component parts is known as parsing. And for the implementation of such ...
A Code Assignment Algorithm for Nonblocking OVSF Codes in WCDMA
OVSF codes are used as channelization codes in WCDMA. Due to code blocking property of OVSF codes, the bandwidth available in the system is severely limited. Code reassignments mitigate the impact of the blocking property at the expense of causing ...








Comments