- LLVM é uma infraestrutura de compiladores publicada em 2003, iniciada por Chris Lattner para melhorar os problemas dos compiladores existentes e do GCC.
- Definiu uma representação intermediária (intermediate representation) para reutilizar cada componente do compilador.
- Ao adicionar uma nova linguagem no front-end, é possível reutilizar o otimizador e o back-end como estão.
- Também é possível usar apenas o front-end separadamente para criar funcionalidades de análise estática de programas.
- Tentaram integrar o LLVM ao GCC, mas isso fracassou devido à oposição da comunidade.
- A Apple adotou o LLVM. Passou a usar o Clang, desenvolvido como substituto do GCC.
- Chris Lattner também desenvolveu o Swift na Apple. Ele é usado como a linguagem padrão das plataformas da Apple no lugar do Objective-C.
3 comentários
Na prática, o padrão de fato agora não seria o
clang? Hoje em dia ele já dá suporte até a muitos projetos de grande porte.O clang e o LLVM não têm finalidades diferentes?
Era uma história sobre o fato de que o
clang, um frontend que usa ollvm, agora também está sendo usado em vários projetos open source no lugar dogcc. Não é uma comparação entre os dois. Acho que vale a pena ver a parte 2 sobre o lançamento doclang: https://joone.net/2023/01/…