中間コードを変更するLLVMパスを作成しています。基本ブロックの各終了命令をチェックして、バックエッジがあるかどうかを確認したいと思います。land.lhs.true
より明確にするために、次の例では、ラベルに到達するかどうかを確認したいのですがif.end
、バックジャンプが必要です。
entry:
%pa = alloca %struct.Vertex, align 4
.........
br i1 %cmp, label %land.lhs.true, label %if.end