标签: assembly llvm compiler-optimization llvm-ir
对于LLVM IR中的条件分支指令(作为基本块的终结符),我想确定它是否对应于源代码中的循环或if语句。有没有办法分析这个?
答案 0 :(得分:2)
从概念上讲,分支转发是“if语句”,分支转发是循环。然而,这可能隐藏在一些复杂性背后,例如前端可能会创建一个条件分支前进,导致无条件分支向后,所以总体上是一个循环。
如果您想确定,请使用调试信息生成IR,然后使用该信息(特别是行号)来了解原始代码的内容。