I am an associate professor at the Computer Science department of Northwestern University where I run the
research lab.
At Northwestern University I am a member of the Systems and Networking group, the Programming Languages group, and the Computer Science and Computer Engineering Departments.
My group is passionate about understanding how abstractions used within and around compilers should evolve to better support hardware and applications trends.
This goal often leads us to co-design compilers with the computer architecture and operating system they target as well as with the programming language they translate.
Are you interested in doing exciting research in compilers through a PhD in Computer Science? if yes, please read this.
The full list of news can be found here
Porting our codebases from LLVM 9 to LLVM 14 highlighted something interesting.
The IR as a language did not change much between these two LLVM versions, but the IR instances generated by the front-ends (e.g., clang) and by the IR optimizers (e.g., licm) changed significantly.
The IR generated in LLVM 14 is significantly better (in terms of the amount of redundant computation) than the one generated by LLVM 9.
These changes have triggered bugs in NOELLE (and software built upon it) that we were not aware of.
Our work has been to reproduce these bugs in LLVM 9 by adding new regression tests into our codebases, then fix these bugs in LLVM 9, and finally update these code changes (if necessary) to the LLVM 14 version.
This process allowed us to maintain (at least) the same level of robustness of NOELLE (and the software built upon it) we had at the beginning of this process.
But it was time-consuming and tiring; so I'm glad it's finally over :)
From now on, we will no longer maintain NOELLE (and the rest of our software built upon it) for LLVM 9 (YAY!)
We are now officially working on LLVM 14!
LinkedIn Twitter GitHub
Share this page with: