logo-polimi
Loading...
Degree programme
Programme Structure
Show/Search Programme
Course Details
Save Document
Degree Programme
Read Degree Programme
Quantitative data
Faculty
Infrastructures
International context
Customized Schedule
Your customized time schedule has been disabled
Enable
Search
Search a Lecturer
Search a Course
Search a Course (system prior D.M. n. 509)
Search Lessons taught in English

Glossary
Semester (Sem)
1First Semester
2Second Semester
AAnnual course
Educational activities
BIdentifying activities
Language
Course completely offered in italian
Course completely offered in english
--Not available
Innovative teaching
The credits shown next to this symbol indicate the part of the course CFUs provided with Innovative teaching.
These CFUs include:
  • Subject taught jointly with companies or organizations
  • Blended Learning & Flipped Classroom
  • Massive Open Online Courses (MOOC)
  • Soft Skills
Course Details
Context
Academic Year 2020/2021
School School of Industrial and Information Engineering
Name (Master of Science degree)(ord. 270) - MI (481) Computer Science and Engineering
Track T2A - COMPUTER SCIENCE AND ENGINEERING
Programme Year 2

Course Details
ID Code 090957
Course Title CODE TRANSFORMATION AND OPTIMIZATION
Course Type Mono-Disciplinary Course
Credits (CFU / ECTS) 5.0
Semester Second Semester
Course Description Static program analysis for compilation and software engineering. Intermediate representation of programming languages by intermediate text and by data and control flow graphs. Static properties of programs: variable definition, dominance, reachability, liveness, common expression, alias, etc. Data flow equation and their solution. Basic program optimizations at intermediate level. Constant folding and propagation, control simplification, dead/useless code elimination, redundant expressions and copy simplification. Loop optimizations. Loop invariant extraction, inductive variables, redundant out-of-bound checks. Low level transformations. Machine code generation: tree pattern matching. Register assignment: interference graph colouring, dynamic programming. Static-single assignment representation and related algorithms. Program transformation for parallel machines. Pipeline oriented transformations: jump prediction, instruction scheduling. Loop scheduling for ILP architectures: constraints from data dependencies and resources. Memory hierarchy and cache optimization. Executable intermediate languages. Bytecode virtual machine. Laboratory: the SUIF C compiler. Intermediate representations, code profiling and program transformations.
Scientific-Disciplinary Sector (SSD)
Educational activities SSD Code SSD Description CFU
B
ING-INF/05
INFORMATION PROCESSING SYSTEMS
5.0

Schedule, add and removeAlphabetical groupLecturer(s)LanguageTeaching Assignment Details
From (included)To (excluded)
---AZZZZAgosta Giovanni
manifesti v. 3.9.3 / 3.9.3
Area Servizi ICT
18/04/2025