【问题标题】:LLVM suitable parameters for the createBranchWeights()LLVM 适合 createBranchWeights() 的参数
【发布时间】:2020-12-15 14:56:21
【问题描述】:

我们正在尝试使用 API SplitBlockAndInsertIfThenElse() 插入分支指令。我们注意到 API 的第三个参数似乎是对分支谓词的“估计”,它是由createBranchWeights(param1, param2) 生成的。但是,我们想问哪个参数适合估计,即createBranchWeights()的参数。

据我们所知,64 和 4 是 llvm.expect 的默认值。有人还使用createBranchWeights(1, 1000) 来声明一个很少执行的真正分支。参数如何影响分支的可能性?哪个参数合适?

【问题讨论】:

    标签: llvm


    【解决方案1】:

    如果您希望一个分支的使用频率是另一个分支的两倍,那么 2 和 1 是合适的。如果是 3 倍,3 和 1。如果您不知道,那么您可以跳过设置此元数据。它是可选的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 2017-09-21
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      相关资源
      最近更新 更多