| Home / announcements | Course syllabus | Reading list | |
| Schedule | Lecture Notes | Homeworks | Links |
Assigned Sep 4, 2019
; Due Sep 11, 2019: Assigned Sep 11, 2019
A. Download and install LLVM on your favorite Linux system. We'll use version 8.0.1, which is the latest version for regular download. You should download and build the LLVM sources, but can use prebuilt binaries for the rest. See http://www.llvm.org. Browse this website to familiarize yourself with what resources are available.
B. Skim over the following LLVM documentation,
C. Go through writing a pass tutorial: Writing a Pass
Homework 1
; Due Sep 20, 2019(11:59:59pm):
pdf
Assigned Sep 25, 2019; Due Oct 16, 2019 (11:59pm): pdf
Additional materials: 2 sets of benchmarks are provided: correctness and performance. Correctness benchmarks are designed to help you test and debug your implementation, but are too small to notice any performance change with optimization. Performance benchmarks have high trip count loops to assess performance of your optimization. Some performance improvement should be observed particularly with the Bonus Implementation. See the 2 README files for more info about each group of benchmarks.
The second tgz file contains an implementation template to get you started including all the necessary files to build the template optimization pass. In addition, the file run.sh is provided that provides a list of the LLVM commands used in HW2.
Last, some slides that go over the implementation template and steps in more detail are provided. Sung presented these Monday Sep 23 in class.Benchmarks - F19_EECS583_HW2Bench.tar.gz
Implementation template - F19_EECS583_HW2Template.tar.gz
Slides to help with template - See second set of ppt/pdf files for Lecture 6
Home / announcements | Course syllabus | Reading list | Schedule | Lecture Notes | Homeworks | Links