M7: Code Generation¶
In this seventh module, we will begin to look implementing the necessary code for performing code generation for our language. Specifically looking at translating canonical LLVM IR trees into ARM64 assembly code.
Pre-recorded Lectures¶
The pre-recorded lectures are available here: `M7 Videos <>`_. You can also find the videos under the “Panopto” tab on the MPCS 51300 canvas site.
The lectures are a series of approx 20-30 minute videos divided into 4 sections:
Writing an ARM Program
Register Allocation
The slides/code presented in these videos are accessible in the upstream repository under the m7/resources
m8/resources
directory. Please reachout to me if you do not have access to this repository.
Supplementary Resources¶
- Engineering a Compiler readings:
Chapter 13.1 - 13.4
Synchronous Session (In-person or Remote)¶
You will find the links to the Zoom sessions on Canvas. As a reminder here are the dates and times for the synchronous session for this module:
- Dates/Times
Section 1: Tuesday February 21st @ 5:30pm-7:20pm
- Discussion Outline
Introduction to ARM code generation
Structuring an ARM assembly file
Simple Arm Demo
Assignment¶
Assignments are always due on Friday evenings.
Milestone #3, due Friday March 3rd at 11:59pm CDT