EECS 665 Lab

TA: Andrew Riachi

Labs Taught

Tu 9:00am-10:50am
Tu 11:00am-12:50pm

Office Hours

Eaton 2041
M 10:00am-12:00pm
F 4:00pm-5:00pm
or by appointment (set up by emailing me)


Welcome to EECS 665 Lab! Here we will explore many of the technologies that go into a compiler. I am excited to show you the ropes! Let's have a great semester!

Lab 13: LLVM

In-person Assignment

I hope you all had a great Thanksgiving break! For this lab, we are going to write an LLVM pass.

We will watch the video in class, then work in groups on the assignment. I will come around and check your work when you're done.


0:55-2:50LLVM Overview
2:50-7:33LLVM IR
9:34-10:57LLVM Setup/Installation
10:57-18:51Example Opt Usage
18:51-endCreating a pass

Adding gcov to your projects

Leaving this here for your reference: Using gcov


Please refer to the EECS 665 Syllabus for the course rules. We will adhere to these rules in this lab. The following are specific expectations for this lab and do not supersede the rules from the syllabus.


Classroom Conduct

As stated in the syllabus, students should make an effort to show respect towards one another. This extends to the lab classroom. People learn best in a comfortable environment. As a reminder, disruptive behavior is considered academic misconduct under KU policy and may be dealt with accordingly.

Grading and Reasonable Effort

Students who do not attend the lab section will be graded on the quality of their work. Students who attend the lab section will receive full credit if a good-faith, reasonable effort was made to complete the lab. I reserve the right to determine if reasonable effort was made in each and every case, but here are some guidelines:

Reasonable effort was not made. Reasonable effort might have been made. The student will have to justify not accomplishing more by explaining in detail the problems they encountered and their troubleshooting efforts. If the justification is not compelling enough, reasonable effort was not made. Reasonable effort was probably made.

Contact Me

I encourage you to contact me if you need help or just want to chat. Whether it's about this lab, the lecture, another class, studying in Lawrence/USA, or if you just need an ear to listen. I'm here for you!

Four ways to contact me:

  1. Visit my office hours in person
  2. Set up an in-person or Zoom appointment by emailing me
  3. Send me an email
  4. Send me a message on the course Piazza