llvm BasicBlock内部的变量是否对其他人可见?

时间:2020-05-28 09:30:34

标签: llvm llvm-ir

假设我们有一个名为hello.world的函数,其中包含两个BasicBlock bb.1bb.2,例如:

i32 @hello.world(i32 %x)
bb.1:
  %a = i32 %x
bb.2:
  %b = i32 %a
  ret i32 %b

{{1}中%a中的变量bb.1对于%b中的bb.2可见吗?

1 个答案:

答案 0 :(得分:1)

您的代码无效,因为bb.1不以终止符指令结尾。以br label %bb.2结尾,答案是肯定的。

严格来说,在给定BB中定义的变量对于所有由给定BB主导的BB都是可见的。