Compiler Design. Instructor: Prof. Y. N. Srikant, Department of Computer Science and Automation, IISc Bangalore.

0

2

September 25, 2023

English

English [CC]

Description

This course aims to teach students the principles involved in compiler design. It will cover all the basic components of a compiler but not the advanced material on optimizations and machine code generation. Topics covered in this course include Run-Time Environments, Local Optimizations, Mode Code Generation, Global Register Allocation, Implementing Object-Oriented Languages, Data Flow Analysis, Partial Redundancy Elimination, The Static Single Assignment Form, Automatic Parallelization, Instruction Scheduling, Software Pipelining, Energy-Aware Software Systems, Just-In-Time Compilation, Garbage Collection, Interprocedural Data Flow Analysis, and Worst Case Execution Time Estimation. (from nptel.ac.in)

Course Curriculum

  • Lecture 01 – An Overview of a Compiler Unlimited
  • Lecture 02 – An Overview of a Compiler (cont.), Run-Time Environments Unlimited
  • Lecture 03 – Run-Time Environments: Storage Allocation, Activation Records, etc. Unlimited
  • Lecture 04 – Run-Time Environments (cont.), Local Optimizations Unlimited
  • Lecture 05 – Local Optimizations (cont.), Code Generation Unlimited
  • Lecture 06 – Code Generation: Samples of Generated Code, Optimal Code Generation Unlimited
  • Lecture 07 – More on Optimal Code Generation Algorithms Unlimited
  • Lecture 08 – Peephole Optimizations, Global Register Allocation Unlimited
  • Lecture 09 – Linear Scan Register Allocation, Chaitin’s Graph Coloring based Algorithm Unlimited
  • Lecture 10 – Global Register Allocation (cont.), Implementing Object-Oriented Languages Unlimited
  • Lecture 11 – Implementing Object-Oriented Languages, Machine Independent Optimizations Unlimited
  • Lecture 12 – Machine Independent Optimizations, Data Flow Analysis Unlimited
  • Lecture 13 – Data Flow Analysis (cont.) Unlimited
  • Lecture 14 – Data Flow Analysis (cont.), Control Flow Analysis Unlimited
  • Lecture 15 – Control Flow Analysis Unlimited
  • Lecture 16 – Machine Independent Optimizations: Copy Propagation, Loop Invariant Code Motion Unlimited
  • Lecture 17 – Machine Independent Optimizations: Region based Data Flow Analysis Unlimited
  • Lecture 18 – Region based Data Flow Analysis, Theoretical Foundations of Data Flow Analysis Unlimited
  • Lecture 19 – Theoretical Foundations of Data Flow Analysis, Partial Redundancy Elimination Unlimited
  • Lecture 20 – Partial Redundancy Elimination (cont.) Unlimited
  • Lecture 21 – Static Single Assignment Form: Construction and Application to Program Optimizations Unlimited
  • Lecture 22 – SSA Form: Construction and Application to Program Optimizations (cont.) Unlimited
  • Lecture 23 – SSA Form: Construction and Application to Program Optimizations (cont.) Unlimited
  • Lecture 24 – Automatic Parallelization: Loop Normalization, Data Dependence Relations Unlimited
  • Lecture 25 – Automatic Parallelization: Data Dependence Relations, Direction Vectors Unlimited
  • Lecture 26 – Automatic Parallelization: Data Dependence Equation and Framework Unlimited
  • Lecture 27 – Automatic Parallelization: Loop Transformations for Increasing Parallelism Unlimited
  • Lecture 28 – Instruction Scheduling Unlimited
  • Lecture 29 – Instruction Scheduling: Simple List Scheduling Algorithm Unlimited
  • Lecture 30 – Instruction Scheduling: Trace, Superblock and Hyperblock Scheduling Unlimited
  • Lecture 31 – Software Pipelining Unlimited
  • Lecture 32 – Energy-Aware Software Systems Unlimited
  • Lecture 33 – Energy-Aware Software Systems: Power and Energy Model Trend Unlimited
  • Lecture 34 – Energy-Aware Software Systems: Microarchitectural Techniques to Save Energy Unlimited
  • Lecture 35 – Compiler Techniques to Save Static Energy in CPUs Unlimited
  • Lecture 36 – Just-In-Time Compilation and Optimizations for .NET CLR Unlimited
  • Lecture 37 – Garbage Collection Unlimited
  • Lecture 38 – Interprocedural Data Flow Analysis Unlimited
  • Lecture 39 – Worst Case Execution Time Unlimited
  • Lecture 40 – Worst Case Execution Time (cont.) Unlimited

About the instructor

5 5

Instructor Rating

6

Reviews

4637

Courses

24183

Students

Profile Photo
OpenCoursa
Accessible Education for Everyone
OpenCoursa is a free online learning platform dedicated to providing high-quality education to learners worldwide. With courses across a wide range of subjects, we empower individuals to gain new skills and knowledge at no cost. Our mission is to make education accessible to everyone, offering flexible learning opportunities for personal and professional growth.
We are an educational and skills marketplace to accommodate the needs of skills enhancement and free equal education across the globe to the millions. We are bringing courses and trainings every single day for our users. We welcome everyone woth all ages, all background to learn. There is so much available to learn and deliver to the people.
FREE

Hours of videos

1111 years

Units & Quizzes

Unlimited Lifetime access

Access on mobile app

Certificate of Completion