Skip to main content

2023 | OriginalPaper | Buchkapitel

Optimization of Reversible Control Flow Graphs

verfasst von : Niklas Deworetzki, Lukas Gail

Erschienen in: Reversible Computation

Verlag: Springer Nature Switzerland

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Growing interest in reversible computation has led to an accelerated development of reversible programming languages and software, which reinforces the need for optimizing compilers. In this paper, we report on our recent progress on optimizing reversible intraprocedural control flow. Like previous work on the optimization of reversible programs, the techniques in this paper are based on the reversible intermediate language RSSA. A formalization of RSSA’s control flow as an extended directed multigraph is introduced. This serves as a basis for three analysis and optimization techniques for reversible control flow, which enable the identification and removal of a) unreachable code, b) branches between strictly consecutive code sequences, and c) immediately redirected branches. To our knowledge, this is the first work being done to investigate the optimization of reversible control flow.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
T = conditional True, F = conditional False and U = Unconditional.
 
Literatur
1.
Zurück zum Zitat Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, & Tools. Pearson Education (2006) Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, & Tools. Pearson Education (2006)
2.
Zurück zum Zitat Allen, F.E.: Control flow analysis. In: Proceedings of a Symposium on Compiler Optimization, pp. 1–19. Urbana-Champaign, Illinois (1970) Allen, F.E.: Control flow analysis. In: Proceedings of a Symposium on Compiler Optimization, pp. 1–19. Urbana-Champaign, Illinois (1970)
3.
Zurück zum Zitat Axelsen, H.B., Glück, R., Yokoyama, T.: Reversible machine code and its abstract processor architecture. In: Computer Science – Theory and Applications, pp. 56–69. Ekaterinburg, Russia (2007) Axelsen, H.B., Glück, R., Yokoyama, T.: Reversible machine code and its abstract processor architecture. In: Computer Science – Theory and Applications, pp. 56–69. Ekaterinburg, Russia (2007)
5.
Zurück zum Zitat Deworetzki, N., Kutrib, M., Meyer, U., Ritzke, P.D.: Optimizing reversible programs. In: Reversible Computation, pp. 224–238. Urbino, Italy (2022) Deworetzki, N., Kutrib, M., Meyer, U., Ritzke, P.D.: Optimizing reversible programs. In: Reversible Computation, pp. 224–238. Urbino, Italy (2022)
6.
Zurück zum Zitat Deworetzki, N., Meyer, U.: Program analysis for reversible languages. In: Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, pp. 13–18. Virtual, Canada (2021) Deworetzki, N., Meyer, U.: Program analysis for reversible languages. In: Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, pp. 13–18. Virtual, Canada (2021)
7.
Zurück zum Zitat Frank, M.P.: The future of computing depends on making it reversible. IEEE Spectrum (2017) Frank, M.P.: The future of computing depends on making it reversible. IEEE Spectrum (2017)
8.
Zurück zum Zitat Glück, R., Yokoyama, T.: Reversible computing from a programming language perspective. Theoretical Comput. Sci. (2023) Glück, R., Yokoyama, T.: Reversible computing from a programming language perspective. Theoretical Comput. Sci. (2023)
9.
Zurück zum Zitat Haulund, T.: Design and implementation of a reversible object-oriented programming language. arXiv preprint arXiv:1707.07845 (2017) Haulund, T.: Design and implementation of a reversible object-oriented programming language. arXiv preprint arXiv:​1707.​07845 (2017)
10.
Zurück zum Zitat Kaarsgaard, R., Axelsen, H.B., Glück, R.: Join Inverse categories and reversible recursion. J. Logical Algebraic Methods Program. 87, 33–50 (2017)MathSciNetCrossRefMATH Kaarsgaard, R., Axelsen, H.B., Glück, R.: Join Inverse categories and reversible recursion. J. Logical Algebraic Methods Program. 87, 33–50 (2017)MathSciNetCrossRefMATH
11.
13.
Zurück zum Zitat Storrs Hall, J.: A reversible instruction set architecture and algorithms. In: Proceedings Workshop on Physics and Computation. PhysComp ’94, pp. 128–134 (1994) Storrs Hall, J.: A reversible instruction set architecture and algorithms. In: Proceedings Workshop on Physics and Computation. PhysComp ’94, pp. 128–134 (1994)
14.
Zurück zum Zitat Vieri, C.J.: Pendulum: a reversible computer architecture. Ph.D. thesis, Massachusetts Institute of Technology (1995) Vieri, C.J.: Pendulum: a reversible computer architecture. Ph.D. thesis, Massachusetts Institute of Technology (1995)
15.
Zurück zum Zitat Yokoyama, T., Axelsen, H.B., Glück, R.: Principles of a reversible programming language. In: Proceedings of the 5th Conference on Computing Frontiers, pp. 43–54 (2008) Yokoyama, T., Axelsen, H.B., Glück, R.: Principles of a reversible programming language. In: Proceedings of the 5th Conference on Computing Frontiers, pp. 43–54 (2008)
16.
Zurück zum Zitat Yokoyama, T., Axelsen, H.B., Glück, R.: Towards a reversible functional language. In: International Workshop on Reversible Computation, pp. 14–29 (2011) Yokoyama, T., Axelsen, H.B., Glück, R.: Towards a reversible functional language. In: International Workshop on Reversible Computation, pp. 14–29 (2011)
17.
Zurück zum Zitat Yokoyama, T., Axelsen, H.B., Glück, R.: Fundamentals of Reversible Flowchart Languages. Theoret. Comput. Sci. 611, 87–115 (2016)MathSciNetCrossRefMATH Yokoyama, T., Axelsen, H.B., Glück, R.: Fundamentals of Reversible Flowchart Languages. Theoret. Comput. Sci. 611, 87–115 (2016)MathSciNetCrossRefMATH
Metadaten
Titel
Optimization of Reversible Control Flow Graphs
verfasst von
Niklas Deworetzki
Lukas Gail
Copyright-Jahr
2023
DOI
https://doi.org/10.1007/978-3-031-38100-3_5

Premium Partner