llvm BasicBlock里面的变量对其他人可见吗?

问题描述 投票:0回答:1

假设我们有一个名为 hello.world,其中包含两个BasicBlock bb.1bb.2比如说,。

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

是变量 %abb.1 可见 %bbb.2 ?

llvm llvm-ir
1个回答
1
投票

你的代码是无效的,因为 bb.1 不以终止器指令结束。让它以 br label %bb.2 而答案是肯定的。

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

© www.soinside.com 2019 - 2024. All rights reserved.