Tin mới nhất

Menu

Browsing "Older Posts"

Bài Viết Về Chủ Đề " LLVM "

Ebook LLVM Code Generation - Đi Sâu Vào Compiler Backend Development [Ấn Bản Lần 1, Tháng 5/2025] [PDF, EPUB] [9376E]

08 tháng 6 2025 / No Comments

Khám phá thế giới Code Generation với LLVM infrastructure và tìm hiểu cách mở rộng các backend hiện có hoặc phát triển backend của riêng bạn.

1. Các tính năng chính:

  • ✓ Hiểu các bước liên quan đến generating assembly code từ LLVM IR.
  • ✓ Tìm hiểu các cấu trúc chính cần thiết để tận dụng LLVM cho hardware hoặc backend của bạn.
  • ✓ Củng cố sự hiểu biết của bạn với các bài tập có mục tiêu và các ví dụ thực tế trong mỗi chương.

2. Mô tả sách:

LLVM infrastructure là một hệ sinh thái compiler phổ biến được sử dụng rộng rãi trong ngành công nghệ và học viện. Công nghệ này rất quan trọng đối với cả những compiler developer giàu kinh nghiệm và đầy tham vọng muốn tạo ra tác động trong lĩnh vực này. Được viết bởi một cộng tác viên giàu kinh nghiệm của LLVM và là architect của GlobalISel framework, cuốn sách này cung cấp một bản tóm tắt về các khía cạnh chính của LLVM, với trọng tâm là backend infrastructure của nó; tức là mọi thứ cần thiết để chuyển đổi intermediate representation (IR) do các frontend như Clang tạo ra thành assembly code và object file.

Bạn sẽ học cách viết một code generator tối ưu hóa cho một toy backend trong LLVM. Các chương sẽ hướng dẫn bạn từng bước xây dựng backend này trong khi khám phá các khái niệm chính, chẳng hạn như ABI, cost model và register allocation. Bạn cũng sẽ tìm hiểu cách thể hiện các khái niệm này bằng cơ sở hạ tầng hiện có của LLVM và cách các backend đã thiết lập giải quyết những thách thức này. Hơn nữa, cuốn sách có các code snippet demo các API thực tế.

Đến cuối cuốn sách này, bạn sẽ hiểu sâu hơn về LLVM. Các khái niệm được trình bày dự kiến ​​sẽ vẫn ổn định trên các phiên bản LLVM khác nhau, khiến cuốn sách này trở thành hướng dẫn tham khảo nhanh đáng tin cậy để hiểu LLVM.

3. Bạn sẽ học được gì:

  • ✓ Hiểu các khái niệm compiler thiết yếu, chẳng hạn như SSA, dominance và ABI.
  • ✓ Xây dựng và mở rộng các LLVM backend để tạo các tính năng biên dịch tùy chỉnh.
  • ✓ Tối ưu hóa code bằng cách thao tác Intermediate Representation của LLVM.
  • ✓ Đóng góp hiệu quả vào các dự án và phát triển LLVM nguồn mở.
  • ✓ Phát triển kỹ năng debugging để tối ưu hóa và vượt qua LLVM.
  • ✓ Nắm bắt cách encoding và (dis)assembling hoạt động trong bối cảnh của các compiler.
  • ✓ Sử dụng DSL TableGen của LLVM để tạo các compiler model tùy chỉnh.

4. Cuốn sách này dành cho ai:

Cuốn sách này dành cho cả người mới bắt đầu với LLVM và các LLVM developer có kinh nghiệm. Nếu bạn mới làm quen với LLVM, cuốn sách cung cấp hướng dẫn rõ ràng, dễ tiếp cận về các compiler backend, bắt đầu với các khái niệm nền tảng. Đối với các LLVM developer dày dạn kinh nghiệm, cuốn sách sẽ đi sâu vào các lĩnh vực ít được ghi chép như TableGen, MachineIR và MC, cho phép bạn giải quyết các vấn đề phức tạp và mở rộng chuyên môn của mình. Cho dù bạn đang bắt đầu hay muốn đào sâu kiến ​​thức, cuốn sách này đều có nội dung dành cho bạn.

5. Mục lục:

  • ✓ Chương 01. Xây dựng LLVM và tìm hiểu về Directory Structure.
  • ✓ Chương 02. Contributing to LLVM.
  • ✓ Chương 03. Compiler Basic và cách chúng Map tới các LLVM API.
  • ✓ Chương 04. Viết Optimization đầu tiên của bạn.
  • ✓ Chương 05. Dealing với Pass Managers.
  • ✓ Chương 06. TableGen – LLVM Swiss Army Knife for Modeling.
  • ✓ Chương 07. Tìm hiểu về LLVM IR.
  • ✓ Chương 08. Khảo sát các Pass hiện có.
  • ✓ Chương 09. Giới thiệu Target-Specific Constructs.
  • ✓ Chương 10. Thực hành Debugging LLVM IR Passes.
  • ✓ Chương 11. Legacy Instruction Selection Framework - SelectionDAG.
  • ✓ Chương 12. Bắt đầu với Machine Code Layer.
  • ✓ Chương 13. Machine Pass Pipeline.
  • ✓ Chương 14. Bắt đầu với Instruction Selection.
  • ✓ Chương 15. Instruction Selection: IR Building Phase.
  • ✓ Chương 16. Instruction Selection: Legalization Phase.
  • ✓ Chương 17. Instruction Selection: Selection Phase & Beyond.
  • ✓ Chương 18. Instruction Scheduling.
  • ✓ Chương 19. Register Allocation.
  • ✓ Chương 20. Lowering of the Stack Layout.
  • ✓ Chương 21. Bắt đầu với Assembler.


LƯU Ý: Pass mở file pdf là mật khẩu giải nén chung của tài liệu !


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.