COSCUP x RubyConf TW 2021

LLVM Project: The Good, the Bad, and the Ugly
07-31, 11:05–11:30 (Asia/Taipei), TR309
Language: 漢語


Translate Title

LLVM Project: The Good, the Bad, and the Ugly

Talk Length

25

您是否知悉並同意如採遠端形式分享,需提供預錄影片(您需同意大會才能接受您的稿件) – yes Abstract

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 (TM) 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.

English Abstract

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 (TM) 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.

Difficulty

Skilled

other info

English slides but delivered in Mandarin Chinese

slido url

https://app.sli.do/event/02rn7irj

hackmd url

https://hackmd.io/@coscup/ryHfQ6vAu/%2F%40coscup%2FSk2y7TDA_