在向LLVM IR添加新指令后,变量的SSA表示法编号不会保持连续。 E.g:
%mul=
%mul1=
%mul2=
如果我在%mul之后使用
添加一个新的'mul'指令CreateMul(op1,opt2,"mul");
然后输出如下:OUTPUT:
%mul=
%mul3=
%mul1=
%mul2=
有没有办法让IR中的编号连续?
答案 0 :(得分:2)
您是否希望库继续并在插入点之后修改所有变量的名称以使编号连续?为什么你需要这个(?) - 恕我直言它没有多大意义。请记住,编号在语义上毫无意义 - 这只是生成唯一名称的简单方法。
如果你坚持,你可以随时复制插入点后面的所有指令,并且它们将分配新的变量名。 “复制”是指创建新指令,这些指令是现有指令的克隆,并将它们重新插入IR而不是现有指令。