Module 2: The LLVM Framework

[Slides]

Objectives:

  • Understand the structure of the LLVM toolchain.
  • Understand the intermediate representation of code used by LLVM, the SSA form of code; and be able to relate C code to its intermediate representation.
  • Become familiar with the LLVM API, understand how it can be used to analyze or instrument code.
  • Understand how to navigate through the complex LLVM documentation.
  • Hands-on practice with the LLVM IR and API to write your first Static and Dynamic analysis.