- LLVM เป็นโปรเจกต์ที่ Chris Lattner เริ่มต้นขึ้นเพื่อปรับปรุงปัญหาของคอมไพเลอร์เดิมและ GCC และเป็นโครงสร้างพื้นฐานคอมไพเลอร์ที่เปิดตัวในปี 2003
- กำหนด intermediate representation เพื่อให้สามารถนำคอมโพเนนต์แต่ละส่วนของคอมไพเลอร์กลับมาใช้ซ้ำได้
- หากเพิ่มภาษาใหม่ในส่วน front end ก็จะสามารถนำ optimizer และ back end กลับมาใช้ซ้ำได้ตามเดิม
- สามารถใช้เฉพาะ front end แยกต่างหากเพื่อเขียนความสามารถด้านการวิเคราะห์โปรแกรมแบบสถิตได้
- เคยพยายามรวม LLVM เข้ากับ GCC แต่ล้มเหลวเพราะการคัดค้านจากชุมชน
- Apple นำ LLVM มาใช้ และใช้ Clang ที่พัฒนาขึ้นใหม่แทน GCC
- Chris Lattner ยังพัฒนา Swift ที่ Apple ด้วย และถูกใช้เป็นภาษาเริ่มต้นของแพลตฟอร์ม Apple แทน Objective-C
3 ความคิดเห็น
อันที่จริงตอนนี้ de facto น่าจะไม่ใช่ clang ไปแล้วมั้ง เพราะตอนนี้รองรับโปรเจกต์ขนาดใหญ่จำนวนมากด้วย
clang กับ LLVM ใช้งานคนละแบบไม่ใช่เหรอ?
เป็นเรื่องที่ว่า
clangซึ่งเป็น frontend ที่ใช้llvmตอนนี้ถูกนำไปใช้ในหลายโปรเจกต์โอเพนซอร์สแทนgccแล้วนะครับ ไม่ได้เป็นการเปรียบเทียบสองตัวนี้ครับ น่าจะดูภาค 2 ที่ว่าด้วยการรีลีสของclangได้ https://joone.net/2023/01/…