0

我正在编写一个修改中间代码的 LLVM 通行证。我想检查一个基本块的每个终止指令,看看它是否有后沿。为了更清楚,在下面的例子中,我想看看是否到达标签land.lhs.trueif.end,需要向后跳转。

entry:
  %pa = alloca %struct.Vertex, align 4
  .........
  br i1 %cmp, label %land.lhs.true, label %if.end
4

1 回答 1

0

不确定您所说的后沿或后跳是什么意思,因为 LLVM 中间代码在内存中没有明确的布局。您应该认为每个函数中的基本块没有明确的顺序,也没有明确分配给内存地址。这在发出汇编代码时由后端处理。

于 2012-08-09T13:45:34.277 回答