EMZETT.
Giriş yap

LLVM

Kısaca: LLVM bir derleyici yapım setidir: Birçok dil aynı ara gösterime çevirir; LLVM onu optimize eder ve birçok işlemci için makine kodu üretir.

Biraz daha ayrıntılı: Dil ve işlemci başına eksiksiz bir derleyici kurmak yerine ön uç (dil) ve arka uç (işlemci), ortak LLVM IR ile ayrılır.

Ayrıntılı

  • Yapı: Ön uç (örneğin C/C++ için Clang, Rust için rustc, Swift) → LLVM IR → optimizasyon geçişleri → arka uç (x86, ARM, RISC-V, WebAssembly, GPU).
  • IR: SSA biçiminde (her değişkene bir kez atama yapılır) tipli, basit bir ara dil; bu optimizasyonları kolaylaştırır.
  • Optimizasyonlar: Satır içi açma (inlining), döngü optimizasyonu, vektörleştirme (SIMD), sabit katlama.
  • Yan ürünler: Clang-Tidy, sanitizer’lar (AddressSanitizer), LLDB hata ayıklayıcı.
  • Avantaj: Yeni diller daha hızlı doğar, yeni işlemciler hemen birçok dil kazanır.
  • Görünüm: GCC gibi alternatifler önemini korur, bazı diller kendi arka uçlarını kullanır (Go).

Ayrıca bak: Ara gösterim ve derleyici optimizasyonu