M5: Code Generation ================================================== This fifth module we begin our transition to talking about code generation (i.e., the backend of the compiler). Pre-recorded Lectures --------------------- **Note: Professor Samuels will state on Ed when the prerecorded videos are ready to be viewed each week for a module.** The pre-recorded lectures are available here: `M5 Videos `_. You can also find the videos under the "Panopto" tab on the MPCS 51300 canvas site. The lectures are a series of approx 15-20 minute videos. **Please come back here weekly as the videos will be updated if a module spans multiple weeks.** This module includes the following videos: Week 6 ~~~~~~~~ - 5.1: ARM Procedure Standard - 5.2: C-Runtime Calls in ARM - 5.3: Writing a Simple ARM Program Week 7 ~~~~~~~ - 5.4: Linear Register Allocation The slides presented in these videos are accessible in the upstream repository. Resources/Readings ------------------- * The slides and code presented in this module are accessible in the upstream repository. * **Engineering a Compiler readings:** - Chapter 6.1 - 6.4 Synchronous Sessions (In-person Lecture) ----------------------------------------- As a reminder here are the dates and times for the synchronous session for this module: Week 6 ~~~~~~~ - Dates/Times - Section 1: **Wednesday February 12th 10:30am-12:20pm** - **Please note this class is remote! Please check Ed for the Zoom link.** - Session Outline - Introduction Code Generation - ARM64 Overview - Procedure Abstraction - ARM Instructions [if time permits] Week 7 ~~~~~~~ - Dates/Times - Section 1: **Wednesday February 19th 10:30am-12:20pm** - Session Outline - Liveness Analysis - LLVM SSA Formation Assignment ---------------------- Assignments are always **due** on Friday evenings. * `Milestone #4 <../../assignments/milestone4/index.html>`__, due February 21st at 11:59pm CDT * `Milestone #5 <../../assignments/milestone5/index.html>`__, due March 7th at 11:59pm CDT * `Milestone #6 <../../assignments/milestone6/index.html>`__, due March 14th at 11:59pm CDT