2012-02-06 55 views
0

在向LLVM IR添加新指令後,變量的SSA標記編號不會保持連續。 如:使IR變量編號連續

%mul= 
%mul1= 
%mul2= 

如果我使用

CreateMul(op1,opt2,"mul"); 

則輸出變得%MUL之後添加了新的 'MUL' 指令如下:OUTPUT:

%mul= 
%mul3= 
%mul1= 
%mul2= 

有什麼辦法使編號在IR中連續?

回答

2

你想讓圖書館繼續修改之後的所有變量名稱您的插入點只是爲了使編號連續嗎?爲什麼你需要這個(?) - 恕我直言,這沒有多大意義。請記住,編號在語義上毫無意義 - 這只是生成唯一名稱的一種簡單方法。

如果您堅持,您可以隨時複製插入點後面的所有指令,並且將分配新的變量名稱。 「重複」我的意思是創建新的指令,這些指令是現有指令的克隆,並將它們重新插入IR而不是現有指令。