質問: IR変数の番号付けを連続させる 新しい命令をLLVM IRに追加した後、変数のSSA表記の番号付けは連続していません。 例えば。: ``` %mul= %mul1= %mul2= ``` %mulの後に新しい 'mul'命令を追加すると ``` CreateMul(op1,opt2,"mul"); ``` 出力は次のようになります。OUTPUT: ``` %mul= %mul3= %mul1= %mul2= ``` IRに連続番号を付ける方法はありますか?
回答: ライブラリを続けて、番号を連続させるために挿入ポイントの後に*すべての変数の名前を変更しますか?*なぜあなたはこれを必要としますか? - それはあまり意味がありません。ナンバリングは意味的に意味がないことを覚えておいてください。これは一意の名前を生成する単純な方法です。 あなたが主張すれば、挿入ポイントに続くすべての命令を複製するだけで、新しい変数名が割り当てられます。 「複製」とは、既存のもののクローンである新しい命令を作成し、既存の命令の代わりにIRに挿入することです。