LLVM is an open-sourced compiler optimization and code generation framework that powers many world-famous projects like Android, Tensorflow, Swift and Rust programming languages. It is also the vehicle for many important academic researches in which researchers build prototypes for their Next Big Thing ™ using LLVM.
In this talk, I’m going to give an overview on the current status of LLVM and problems we encountered in the project itself as well as the community. The talk starts with the advantages of LLVM in 2021: Including characteristics that greatly improve the life of compiler engineers, key factors that make the LLVM community thrive and healthy, and a list of latest ground-breaking features you can’t miss. However, there are also some high-level problems – both technical and non-technical – in this project and community. For instance, the lack of clear documentations on many areas and the fight with the ever-growing compilation time. I’m going to highlight some of these problems and show you the on-going efforts on solving them. Finally, I’m augmenting the discussion to some much more challenging problems I observed in LLVM, or even broader problems I saw in the general compiler development area. Like the problems faced by many downstream LLVM developers and the gap between academic researchers and LLVM community regarding “what is the most crucial compiler problem”.
The talk is designed to give you insights into (upstream) LLVM development and its community. I hope this can encourage more people getting into this area, fostering constructive discussions on some of these issues, and improve the future of programming language as well as compiler development.
About 許民易
敝人為加州某間鄉下公立大學 (University of California, Irvine) 的小小CS博士生。專精的領域為 compiler engineering, high performance computing, 以及 system programming。其中又對於 LLVM 頗有涉略,累積了不少經驗。目前負責管理 M68k 的 LLVM backend。閒暇之餘喜歡嘗試各種咖啡,另外對於甜食–尤其是巧克力–特別沒有抵抗力。