LLVM的SelectInst
用于表示something = cond ? true-part : false-part
等表达式。
此指令在IR中有什么好处,因为?:
也可以由编译器始终降低到BranchInst
?是否有支持此类指令的CPU?或者select
是否被CodeGenerator降低为跳跃?
我认为分析传递可能有好处,因为select
保证了隐式if
的两个“分支”。但另一方面,编译器根本不需要使用该指令,因此这些通道必须能够处理br
。
答案 0 :(得分:5)
是的,你总是可以使用条件分支而不是select指令,但select有几个优点: