EduXchange.EU

Program Optimization

IN2053
Computer Science and ICT, Data, AI

About this course

The lecture starts with basic dataflow analyses like availability of expressions or liveness of variables together with the optimizing transformations enabled by these analyses. Motivated by the examples, we develop the theoretical background on complete lattices and monotone functions necessary for program analysis methods. Subsequently, we discuss more sophisticated analyses such as constant propagation. By discussing interval analysis, we present general methods for the case where ordinary fixpoint computation will not terminate. Further topics are:

  • interprocedural analysis;
  • pointer analysis;
  • fixpoint algorithms. We also consider hardware dependent optimizations such as:
  • register allocation;
  • instruction selection;
  • instruction scheduling and also optimizations to improve the cache behavior.

Learning outcomes

Participants know the often occurring conflict between good structure and readability of a program as well as the highest possible efficiency of the execution of the program which is likewise desired. They know the techniques to increase the efficiency of the program execution through optimizing transformations of a compiler. They are able to apply these to small example programs and are able to develop new analyses and optimizations on their own.

Examination

Seidl, Wilhelm, Hack: Compiler Design. Analysis and Transformation. Springer Verlag, 2012

Course requirements

Bachelor Informatics, basic knowledge in programming languages or compilers

Activities

By means of a presentation, either by slides or whiteboard, the lecture presents fundamental techniques for the analysis and optimization of programs and illustrates these by means of small examples. Accompanying assignments for individual study deepen the understanding of the concepts explained in the lecture, train students to apply the learnt analyses and optimizations to example programs and develop the skill to realize analyses and optimizations on their own.

Link to more information

  • Credits
    ECTS 8
  • Contact hours per week
    6
  • Instructors
    Helmut Seidl, Yannick Stade
  • Mode of instruction
    Blended
  • Course coordinator
If anything remains unclear, please check the FAQ of TUM (Germany).

Offering(s)

  • Start date

    16 October 2024

    • Ends
      6 February 2025
    • Term *
      unknown
    • Instruction language
These offerings are valid for students of CTU (Czech Republic)