4
對於我的編譯器課程,我正在構建基於MIPS架構圖着色的寄存器分配器。對於我的實施,我正在遵循Muchnick的處理方法。圖着色寄存器分配器
對於如何在這些分配器中處理函數的參數,Muchnick一直有點模糊。
我做了一些假設,並認爲我會澄清相同的。
- 有這個步驟可以從中級IR轉換到較低級別的IR。嵌套函數調用尚未處理。我的想法是從右向左掃描函數調用,並向外放置最內層調用的IR。通過這種方式,我可以使用MIPS調用約定爲參數寄存器分配前幾個參數,其餘的以最小量的溢出(僅爲1)進行堆棧。
- 書中的註冊合併處理對我來說並不直觀,因爲它沒有解決處理固定參數寄存器的移動函數參數的LIR代碼的方式。經過深思熟慮之後,我得出結論:我不應該爲參數傳遞動作進行註冊合併。
對這些假設的反饋/想法非常感謝。