Speaker Prof. Dr. Helmut Seidl
Location

mixed: online and in person

(possible to follow the course online, exam in person)

Date Wednesdays & Thursdays 10:00 - 12:00
Module IN2053

News

There will be only one lecture in the first week of winter semester on Wednesday, October 20: 10:00-11:30, no lecture on Thursday, October 21.

The tutorials will start on October 28, first week online only.

Contents

The lecture is meant for students doing Master studies who are interested in compiler technology. 

Programs which we write should be both efficient and easily to maintain. In particular, maintainability means that programs should be well-structured and easily understandable also by humans. Being well-structured and easily readable, though, may often come at the price oft a degradation in efficiency at run-time.

For this reason, most compilers offer an optimization phase in which the source program is analyzed and where various transformations are applied to automatically improve efficiency. In some cases, it may happen that the attempt for improvement overshoots the target and results in programs which are perhaps fast but are no longer equivalent to the original program.

In the lecture, we give an overview over standard techniques for improving the quality of the generated code. In particular, we are interested in methods which guarantee that the resulting code still is equivalent to the source program.

The topics covered:

  • Intra-procedural analysis and optimizations
  • Abstract Interpretation and Interval Analysis
  • Interprocedural optimizations
  • Exploitation of hardware features such as registers, pipelines, caches, specific instructions
  • Optimization of functional languages
  • Optimization of Prolog

Last year slides

Organisation

This winter semester the lectures take place online. Tutorials are planned both online and in person, you may choose which of the groups/time slots fits better. Depending on the COVID-19 situation the in person tutorial might be suspended, we will keep you updated.
The lectures will be recorded. 
 

All information about the course will be available on Moodle. Throughout the semester all announcements will be communicated via Moodle as well.

Tutorials take place on Wednesdays (in person) and Thursdays (online) 14-16. There are voluntary homework assignments that we will discuss during tutorial sessions. You do not need to submit your solution in advance, as it will not be graded, but you should solve it before the tutorial.

The tutorial is given by Anastasiia Izycheva (izycheva@in.tum.de).

Office hours are planned to be online, right after Thursday tutorial (~16:00, exact time will be adjusted on demand). 

Exam

The end-of-term exam is planned to be a presence written exam (on campus). Preliminary exam time is 21.02.2022, 11:00 - 13:00.

There is NO RETAKE EXAM in winter semester 2021/22.

Bibliography

  • Helmut Seidl, Reinhard Wilhelm and Sebastian Hack. Compiler Design - Analysis and Transformation. Springer, 2012.
  • Helmut Seidl, Reinhard Wilhelm and Sebastian Hack. Übersetzerbau 3: Analyse und Transformation. Springer, 2010.