Iván Burgert (iburgert)
ivanbur.github.io/midpoint.html
Main PageI have written a lot of test cases. Of course, I can’t write test cases that cover every possibility, but I have written ones that cover a lot. I will add more tests as I think of them. I have also completed some analysis. Currently, I can identify loops and induction variables for these loops. I have started the dependence analysis, but it is not complete. There are some issues, so I will likely scrap it and plan a new one. This means that I did not meet my midpoint goal of successfully being able to identify vectorizable loops :(
Although I was not able to meet my midpoint goal, I think I will still be able to produce all of my deliverables. I still may be able to achieve one of my “nice to haves”, which is still being able to do autovectorization in the presence of simple control flow. My new list of goals is the same as my previous list of goals, with the removal of the complex control flow “nice to have”.
At the poster session, I plan to have some graphs and images. The images will show my process of implementation, and the graphs will show the result. They will compare my previous compiler’s output (without autovectorization) and my new compiler’s output (with autovectorization). The comparison will include metrics such as speed and code size for the test cases that I wrote as well as the existing 15-411 test cases.
Not too many preliminary results at this time, just that my compiler successfully identifies all loops and induction variables within the code. It also has not regressed, so it passes all test cases that it passed before (even more, because I fixed some bugs regarding the dynamic semantics).
No concerning issues at this time.