假设我们有一个名为 hello.world
,其中包含两个BasicBlock bb.1
和 bb.2
比如说,。
i32 @hello.world(i32 %x)
bb.1:
%a = i32 %x
bb.2:
%b = i32 %a
ret i32 %b
是变量 %a
在 bb.1
可见 %b
在 bb.2
?
你的代码是无效的,因为 bb.1
不以终止器指令结束。让它以 br label %bb.2
而答案是肯定的。
严格来说,在给定的BB中定义的变量在所有的BB中都是可见的。为主导 给定的。