COL729 Lab 1 : LLVM IR and x86 Assembly

Due date - 23:55, 4 February 2019

In this assignment, we will examine the effect of different clang optimisation levels on the generated LLVM IR and x86 Assembly code

Instructions

You have been given six programs: gcd, loops, print_arg, emptyloop, fibo_iter, fib. Some of these programs have multiple functions inside them -- you are required to describe all functions in these cases.

For LLVM IR bitcode, you are required to test O0 and O2 optimization levels (see Makefile).

For 32-bit x86, you are required to test O0, O2, and O3 optimization levels (see Makefile).

Prepare a report summarizing your findings: Your report should be succinct yet insightful. It should have the following information: