LLVM分支指令:if语句中的语句或循环?

时间:2016-03-24 15:53:00

标签: assembly llvm compiler-optimization llvm-ir

对于LLVM IR中的条件分支指令(作为基本块的终结符),我想确定它是否对应于源代码中的循环或if语句。有没有办法分析这个?

1 个答案:

答案 0 :(得分:2)

从概念上讲,分支转发是“if语句”,分支转发是循环。然而,这可能隐藏在一些复杂性背后,例如前端可能会创建一个条件分支前进,导致无条件分支向后,所以总体上是一个循环。

如果您想确定,请使用调试信息生成IR,然后使用该信息(特别是行号)来了解原始代码的内容。