1
我正在將另一個IR轉換爲llvm IR。轉換爲LLVM IR:如何創建虛擬寄存器而不是分配堆棧變量?
我IR是這樣的:
a = 1;
b = a;
a = a + 1;
現在,我使用ALLOCA在我的IR(用於 「a」 和 「B」 在這裏)創建變量。
但是,alloca可能太重了,它會引入大量的加載存儲指令。如果功能很大,這將是一個問題。實際上,對我而言,大多數變量都是寄存器寬度。所以我只想讓他們成爲一個虛擬的名字註冊。
有人知道如何創建一個虛擬寄存器(變量)而不是內存變量?
我的意思是如何避免使用「alloca」?
AFAIK,你不應該在乎這一點。只需使用allocas和codegen/optimizer就可以爲你完成這項工作。 – arrowd