Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LLVM适用于createBranchWeights()的参数_Llvm - Fatal编程技术网

LLVM适用于createBranchWeights()的参数

LLVM适用于createBranchWeights()的参数,llvm,Llvm,我们正在尝试使用API SplitBlockAndInsertIfThenElse()插入分支指令。我们注意到API的第三个参数似乎是分支谓词的“估计”,它是由createBranchWeights(param1,param2)生成的。但是,我们想问哪个参数适合估算,即createBranchWeights()的参数 据我们所知,64和4是llvm.expect的默认值。有人还使用createBranchWeights(11000)来声明很少执行的真正分支。参数如何影响分支的可能性?哪个参数合适

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


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

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