A1 (4 marks, due Jan 19, 2014 23:59)
A2 (8 marks, due Feb 9, 2014 23:55) Optional, for fun: If you wish to challenge your code's performance, test it on SPEC 2006 benchmarks. To get the benchmarks, please get in touch with a TA.
A3 (13 marks, due Mar 2, 2014 23:55) Optional, for fun: If you wish to challenge your code's performance and precision, test it on Olden benchmarks. If you can improve the precision or time on voronoi benchmark, get in touch with me.
MidSem will have questions based on assignments. Therefore, it would help if you submit the assignments sincerely.
Install LLVM 3.4 + Clang on Linux, compile.
Run existing analyses on the LLVM IR and gather statistics.
Note that you don't have to write any LLVM analysis for this assignment, you should simply try out various LLVM tools and options.
Submit file typescript generated by program script.
Write an LLVM pass to perform inter-procedural, field-insensitive Andersen's inclusion-based points-to analysis.
The pass should output points-to information in the following format: pointername pointee1 pointee2 pointee3 ... one pointer per line.
Submission instructions will be posted on moodle.
Links: Online Andersen's Analysis,
Ben Hardekopf's versions,
Andersen's Analysis in LLVM
If you can improve this performance substantially, get in touch with me.
Write an LLVM pass to implement Ghiya and Hendren's shape analysis.
The expected output and the submission instructions would be posted on moodle.
Get going.