Skip to main content

Graph Rewriting for Hardware Dependent Program Optimizations

  • Conference paper
Applications of Graph Transformations with Industrial Relevance (AGTIVE 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5088))

Abstract

We present a compiler internal program optimization that uses graph rewriting. This optimization enables the compiler to automatically use rich instructions (such as SIMD instructions) provided by modern CPUs and is transparent to the user of the compiler. New instructions can be introduced easily by specifying their behaviour in a high-level programming language. The optimization is integrated into an existing compiler, gaining high speedup.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Geiß, R., Kroll, M.: GrGen.NET: A Fast, Expressive, and General Purpose Graph Rewrite Tool. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088. Springer, Heidelberg (2008)

    Google Scholar 

  2. Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.: GrGen: A Fast SPO-Based Graph Rewriting Tool. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 383–397. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Batz, G.V.: Graphersetzung für eine Zwischendarstellung im Übersetzerbau. Master’s thesis, Universität Karlsruhe (2005)

    Google Scholar 

  4. Intel Corporation, O. Box 5937, Denver, CO 80217-9808: Intel 64 and IA-32 Architectures Software Developer’s Manual – Instruction Set Reference (2007)

    Google Scholar 

  5. Trapp, M., Lindenmaier, G., Boesler, B.: Documentation of the Intermediate Representation FIRM. Technical Report 1999-14, Universität Karlsruhe, Fakultät für Informatik (1999)

    Google Scholar 

  6. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)

    Article  Google Scholar 

  7. Cooper, K.D., Torczon, L.: Engineering a Compiler. Morgan Kaufmann Publishers Inc., San Francisco (2004)

    MATH  Google Scholar 

  8. Motorola Phoenix, AZ, USA: AltiVec Technology Programming Environments Manual (1998)

    Google Scholar 

  9. Ghiya, R., Lavery, D., Sehr, D.: On the Importance of Points-To Analysis and Other Memory Disambiguation Methods for C Programs. In: Proceedings of the ACM SIGPLAN 2001 PLDI, pp. 47–58 (2001)

    Google Scholar 

  10. Hofmann, E.: Regelerzeugung zur maschinenabhängigen Codeoptimierung. Master’s thesis, Universität Karlsruhe (2004)

    Google Scholar 

  11. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)

    MATH  Google Scholar 

  12. Eckstein, E., König, O., Scholz, B.: Code Instruction Selection Based on SSA-Graphs. In: Krall, A. (ed.) SCOPES 2003. LNCS, vol. 2826, pp. 49–65. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  13. Jakschitsch, H.: Befehlsauswahl auf SSA-Graphen. Master’s thesis, Universität Karlsruhe (2004)

    Google Scholar 

  14. Metzger, R., Wen, Z.: Automatic Algorithm Recognition and Replacement: A new Approach to Program Optimization. MIT Press, Cambridge (2000)

    Google Scholar 

  15. CONVEX Computer Corp. O. Box 5937, Denver, CO 80217-9808: CONVEX Application Compiler User’s Guide, 2nd ed. (1992)

    Google Scholar 

  16. Intel Corporation: Block-Matching In Motion Estimation Algorithms Using Streaming SIMD Extensions 3. Technical report, Intel Corporation, O. Box 5937, Denver, CO 80217-9808 (2003)

    Google Scholar 

  17. Pryanishnikov, I., Krall, A., Horspool, N.: Pointer Alignment Analysis for Processors with SIMD Instructions. In: 5th Workshop on Media and Streaming Processors (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schösser, A., Geiß, R. (2008). Graph Rewriting for Hardware Dependent Program Optimizations. In: Schürr, A., Nagl, M., Zündorf, A. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2007. Lecture Notes in Computer Science, vol 5088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89020-1_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89020-1_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89019-5

  • Online ISBN: 978-3-540-89020-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics