- LLVM là một hạ tầng trình biên dịch do Chris Lattner khởi xướng để cải thiện các vấn đề của các trình biên dịch hiện có và GCC, được công bố vào năm 2003.
- Định nghĩa một biểu diễn trung gian (intermediate representation) để tái sử dụng từng thành phần của trình biên dịch
- Nếu thêm một ngôn ngữ mới ở front end thì có thể tái sử dụng nguyên vẹn optimizer và back end
- Cũng có thể chỉ dùng riêng front end để xây dựng chức năng phân tích chương trình tĩnh
- Đã từng cố gắng tích hợp LLVM vào GCC nhưng không thành do sự phản đối từ cộng đồng
- Apple đã áp dụng LLVM. Sử dụng Clang do họ phát triển mới thay cho GCC
- Chris Lattner cũng phát triển Swift tại Apple. Được dùng làm ngôn ngữ mặc định trên nền tảng Apple thay cho Objective-C.
3 bình luận
Thực tế thì giờ gần như
de factođã làclangrồi nhỉ, giờ nó còn hỗ trợ cả nhiều dự án khổng lồ nữa.clangvàLLVMchẳng phải có mục đích sử dụng khác nhau sao?Ý là
clang, frontend dùngllvm, giờ đã được dùng trong nhiều dự án mã nguồn mở thay chogcc. Đây không phải là bài so sánh hai bên. Có lẽ bạn nên xem phần 2 về bản phát hànhclang: https://joone.net/2023/01/…