2025-08-15
Clippyに通すと、ここで借用する必要はないとか参照外しが即座に行われるからいらんという警告が多く出ている
ここら辺の理解したい
code:_
warning: manually reimplementing div_ceil
--> src/gen_x64.rs:233:34
|
233 | let stack_size = ((offset_max + 15) / 16) * 16;
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .div_ceil(): offset_max.div_ceil(16)
学びが多い
というかこの検知すごい
for文の導入
ループの制御構文を導入したことによって、いままでは正しかった線形スキャンによる仮想レジスタの割り当てアルゴリズムが誤りになった
ループが一周した時点で見かけ上のライフタイムは終わるが、次のループでその変数を使うときは生存している
ループの最後にLoadVar { vreg }みたいなループ内で使った変数を置くのとか
バグりそう
できればコード渡すと仮想レジスタと実際のレジスタのHashMapが返ってくる部分を差し替えるだけにしたい