25 pontos por joone 2023-01-20 | 3 comentários | Compartilhar no WhatsApp
  • 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

 
ragingwind 2023-01-20

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.

 
hohohoho 2023-01-20

O clang e o LLVM não têm finalidades diferentes?

 
ragingwind 2023-01-21

Era uma história sobre o fato de que o clang, um frontend que usa o llvm, agora também está sendo usado em vários projetos open source no lugar do gcc. Não é uma comparação entre os dois. Acho que vale a pena ver a parte 2 sobre o lançamento do clang: https://joone.net/2023/01/…