ไลบรารี Firm ดำเนินการตัวแทนระดับกลางของ Firm (ir) คุณสามารถค้นหาคำอธิบายเก่าของ Firm ได้ใน [TLB:99]
libFirm มีอัลกอริธึมสำหรับการสร้างแบบฟอร์ม SSA โดยตรงจากแผนผังไวยากรณ์ประกอบ มีชุดการวิเคราะห์และขั้นตอนการปรับให้เหมาะสม เวอร์ชันนี้มีแบ็กเอนด์ที่สมบูรณ์สำหรับสถาปัตยกรรม IA32 และ SPARC รวมถึงแบ็กเอนด์ที่ยังไม่เสร็จสำหรับ MIPS, ARM และ AMD64
ข้อกำหนดเบื้องต้นสำหรับการสร้าง:
เพียงพิมพ์ 'make' ในไดเรกทอรีต้นทาง ผลลัพธ์จะถูกใส่ลงในไดเร็กทอรีที่เรียกว่า "build" คุณสามารถแทนที่แฟล็กตัวประมวลผลล่วงหน้า คอมไพลเลอร์ และลิงก์เกอร์ที่มีอยู่ได้โดยการสร้างไฟล์ 'config.mak'
libFirm มีระบบสร้าง cmake เพิ่มเติม CMake เป็นระบบบิลด์ที่ซับซ้อนมากกว่าระบบ make-based และนักพัฒนา libFirm ส่วนใหญ่ไม่ได้ใช้ อย่างไรก็ตาม สามารถปรับแฟล็กคอมไพลเลอร์และลิงก์เกอร์เพื่อสร้างไลบรารีแบบแบ่งใช้สำหรับระบบที่หลากหลายมากขึ้น มีเป้าหมายในการติดตั้ง และมักจะคุ้นเคยมากกว่าสำหรับผู้ที่เตรียมแพ็คเกจสำหรับการแจกจ่าย
include/libfirm/ # public API
ir/ # nearly all the code
ir/adt/ # containers and other generic data types
ir/ana/ # analysis (for optimizations)
ir/be/ # backends (x86, sparc, amd64, etc)
ir/common/ # utility stuff
ir/ident/ # identifier data structure
ir/ir/ # core data types of intermediate representation
ir/kaps/ # PBQP solver
ir/libcore/ # utility stuff
ir/lower/ # lowering phases from high-level to low-level mechanisms
ir/lpp/ # interface for external ILP solvers
ir/obstack/ # arena memory allocator
ir/opt/ # optimization phases
ir/stat/ # statistics
ir/tr/ # type representation
ir/tv/ # target values (architecture-independent arithmetic)
scripts/ # generator scripts, firm node specification
unittests/ # unittests
build/ # build system generates stuff here
เว็บไซต์อย่างเป็นทางการ: http://libfirm.org/
อีเมลติดต่อ: [email protected]
รายชื่อผู้รับจดหมาย: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
เครื่องมือติดตามข้อบกพร่อง: http://pp.ipd.kit.edu/~firm/bugs
แชทรีเลย์ทางอินเทอร์เน็ต: #firm
บน irc.libera.chat