15-213/18-243 Introduction to Computer Systems
Lecture 10: Program Optimization I: Basics

  • Reading: 5.1-5.6
  • Slides:
  • Code:
  • Concepts:
    • Memory layout
    • Buffer overflow attacks
    • Program optimization
      • Removing unnecessary procedure calls
      • Code motion
      • Strength reduction
      • Sharing common subexpressions
      • Optimization blocker: procedure call
      • Optimization blocker: memory aliasing
  • Previous lecture: Linking
  • Next lecture: Exceptions