使IR变量编号连续

时间:2012-02-06 10:43:57

标签: llvm

在向LLVM IR添加新指令后,变量的SSA表示法编号不会保持连续。 E.g:

%mul=
%mul1=
%mul2=

如果我在%mul之后使用

添加一个新的'mul'指令
CreateMul(op1,opt2,"mul");

然后输出如下:OUTPUT:

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

有没有办法让IR中的编号连续?

1 个答案:

答案 0 :(得分:2)

您是否希望库继续并在插入点之后修改所有变量的名称​​以使编号连续?为什么你需要这个(?) - 恕我直言它没有多大意义。请记住,编号在语义上毫无意义 - 这只是生成唯一名称的简单方法。

如果你坚持,你可以随时复制插入点后面的所有指令,并且它们将分配新的变量名。 “复制”是指创建新指令,这些指令是现有指令的克隆,并将它们重新插入IR而不是现有指令。