【问题标题】:Checking for backedges in an LLVM pass检查 LLVM 通道中的后端
【发布时间】:2012-08-08 16:22:16
【问题描述】:

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

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

【问题讨论】:

    标签: c++ c compiler-construction llvm clang


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-07-28
      • 2017-07-28
      • 2022-01-11
      • 1970-01-01
      • 2015-06-26
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多