3
コードの制御フローをチェックするパスを作成しようとしています。 br命令があれば、ラベルフィールドで参照される基本ブロックにアクセスする必要があります。llvm - タイプbrの命令のラベルフィールドで参照される基本ブロックの最初の命令を取得します。
は例えば、コードのために:
for(i = 0; i < count; i++){
sum = add(sum, array[i]);
}
私は、私はパスで、この命令に遭遇したときに今、私はこれらのラベルがある場所を正確に知っておく必要がありIR表現
br i1 %cmp, label %for.body, label %for.end
を取得しますを指しています。誰も私がそれをどうやってできるか教えてもらえますか?
お返事ありがとうございます!それも動作しますが、代わりにBranchInst * branch = castを使用しています(I);用(符号なしII = 0、NSucc =たブランチ> getNumSuccessors(); II getSuccessor (II);} –
eren555
申し訳ありませんが、フォーマットが間違っているので、私はとても新しいので、コメントのコードの書式設定方法はわかりません。 – eren555