bytecodealliance / bytecodealliance/regalloc2

Alternative regalloc backends

Đang mở
#81 2 bình luận 3 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
265
Fork
53
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

The regalloc2 crate provides a good API (`VReg`, `PReg`, `Operand`, `Function`, etc) for interacting with a register allocator. It would be nice if other register allocator backends could be made available with the same API to simplify integration on the embedder side.

What I specifically have in mind is a "fast" backend that simply allocates registers in a single pass with the goal of minimizing compilation time. This will have a huge impact on compilation time since my compiler spends 80% of its time in register allocation. In practice I expect to use this for a tiering JIT where hot code can later be re-compiled using the slow regalloc backend that produces better code.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Read the regalloc2 crate API around VReg, PReg, Operand, and Function, then trace how the existing register-allocation backend is exposed. Define the scope and acceptance criteria for a fast single-pass backend, including its integration with embedders and its compilation-time versus code-quality tradeoff. Done means the backend design and integration path are agreed.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
compilers
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.