2014-10-07 30 views
0

如何確定物理CPU寄存器在給定時間是否包含「已使用」值,即它是否帶電?我正在使用LLVM 3.4 C++ API。LLVM:檢查物理寄存器是否帶電

+1

LLVM在物理寄存器甚至輸入圖片之前可能會做的90%。你真的在寫一個RA之後的機器碼傳遞嗎? – delnan 2014-10-07 14:36:10

+0

我不想寫一個傳球(編輯:除非我必須)。我在多個實例中使用由llvm編譯的程序,我想比較包括堆棧和物理寄存器在內的實例的狀態。 – hooch 2014-10-07 14:47:47

+0

您可以分析機器代碼,看看寄存器是否會在下一條指令寫入之前被讀取。不幸的是,我不知道如何讓LLVM幫助你。 – delnan 2014-10-07 14:59:23

回答

1

簡答:你不能。長時間回答:LLVM IR表示一些具有無限數量鍵入寄存器的虛擬機。沒有任何信息在代碼生成之前如何將所有東西變成物理寄存器。

執行寄存器分配後,註冊活動信息在後端內部可用。