Skip to main content

An Extension to Global Value Numbering

  • Conference paper
  • 1795 Accesses

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 193))

Abstract

Optimizing compilers play a crucial role in making a computer program efficient. Many optimizing techniques are used to improve the performance of a program written in high level language. The different types of optimizations techniques include data-flow optimization, control flow optimization, SSA-based optimization, loop optimization, code generator optimization, functional language optimization etc. Some optimizations are done early during the compilation or optimization phase since they help or improve further optimizations. Some of the early optimizations are value numbering, constant folding, constant propagation, copy propagation, scalar replacement of aggregates etc. We propose here an extension to the existing technique of early optimization - Global Value Numbering. The value graph method used for global value numbering is utilized. The idea is to include some algebraic simplification and error detection during the value numbering phase itself. This is beneficial since we can improve an existing technique without incurring any additional cost and it gives a scope to increase the efficiency of other optimizations.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alpern, B., Wegman, M.N., Zadeck, F.K.: Detecting equality of variables in programs. In: 15th Annual ACM Symposium on Principles of Programming Languages, p. 111 (1988)

    Google Scholar 

  2. Briggs, P., Cooper, K.D., Simpson, L.T.: Value numbering. Software Practice and Experience (1997)

    Google Scholar 

  3. Gulwani, S., Necula, G.C.: A Polynomial-Time Algorithm for Global Value Numbering. In: Static Analysis Symposium (2004)

    Google Scholar 

  4. Muchnick, S.S.: Early Optimizations. In: Advanced Compiler Design and Implementation, pp. 329–360, 580–586. Morgan Kaufmann, San Francisco (2000)

    Google Scholar 

  5. Wegman, M.N., Zadeck, F.K.: Constant propagation with conditional branches. ACM Transactions on Programming Languages and Systems (1991)

    Google Scholar 

  6. Gulwani, S., Necula, G.C.: Global Value Numbering using Random Interpretation. In: Proceedings of the Principles of Programming Languages (2004)

    Google Scholar 

  7. Kulkarni, P.A., Whalley, D.B., Tyson, G.S., Davidson, J.W.: Exhaustive Optimization Phase Order Space Exploration. In: Proceedings of the International Symposium on Code Generation and Optimization (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Krishnan, S.D., Asokan, S. (2011). An Extension to Global Value Numbering. In: Abraham, A., Mauri, J.L., Buford, J.F., Suzuki, J., Thampi, S.M. (eds) Advances in Computing and Communications. ACC 2011. Communications in Computer and Information Science, vol 193. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22726-4_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-22726-4_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-22725-7

  • Online ISBN: 978-3-642-22726-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics