1 / 10

Advanced Compiler Design

Learn about advanced techniques in compiler design, including program analysis, transformations, and their applications. Taught by instructor Sorin Lerner.

bdewald
Download Presentation

Advanced Compiler Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Compiler Design CSE 231 Instructor: Sorin Lerner

  2. if (…) { x := …; } else { y := …; } …; Compiler Exec Optimizer Parser Code Gen Let’s look at a compiler Compiler

  3. Compiler Compiler Parser Parser Code Gen Code Gen Let’s look at a compiler Optimizer

  4. Advanced Optimizer Design CSE 231 Instructor: Sorin Lerner

  5. Compiler Parser Code Gen What does an optimizer do? Optimizer • Compute information about a program • Use that information to perform program transformations (with the goal of improving some metric, e.g. performance)

  6. What do these tools have in common? • Bug finders • Program verifiers • Code refactoring tools • Garbage collectors • Runtime monitoring system • And… optimizers

  7. What do these tools have in common? • Bug finders • Program verifiers • Code refactoring tools • Garbage collectors • Runtime monitoring system • And… optimizers They all analyze and transform programs We will learn about the techniques underlying all these tools

  8. Program Analyses, Transformations,and Applications CSE 231 Instructor: Sorin Lerner

  9. Course goals • Understand basic techniques • cornerstone of a variety of program analysis tools • useful no matter what your future path • Get a feel for compiler research/implementation • useful if you don’t have a research area picked • also useful if you have a research area picked

  10. Course topics • Representing programs • Analyzing and transforming programs • Applications of these techniques

More Related