LLVM适用于createBranchWeights()的参数
我们正在尝试使用API SplitBlockAndInsertIfThenElse()插入分支指令。我们注意到API的第三个参数似乎是分支谓词的“估计”,它是由LLVM适用于createBranchWeights()的参数,llvm,Llvm,我们正在尝试使用API SplitBlockAndInsertIfThenElse()插入分支指令。我们注意到API的第三个参数似乎是分支谓词的“估计”,它是由createBranchWeights(param1,param2)生成的。但是,我们想问哪个参数适合估算,即createBranchWeights()的参数 据我们所知,64和4是llvm.expect的默认值。有人还使用createBranchWeights(11000)来声明很少执行的真正分支。参数如何影响分支的可能性?哪个参数合适
createBranchWeights(param1,param2)
生成的。但是,我们想问哪个参数适合估算,即createBranchWeights()
的参数
据我们所知,64和4是llvm.expect的默认值。有人还使用
createBranchWeights(11000)
来声明很少执行的真正分支。参数如何影响分支的可能性?哪个参数合适?如果您希望一个分支的使用频率是另一个分支的两倍,那么2和1是合适的。如果是三倍的频率,则为3和1。如果您不知道,那么可以跳过设置此元数据。它是可选的