LLVM 有一个SelectInst
用于表示诸如something = cond ? true-part : false-part
.
IR 中的这条指令有什么好处,因为编译器?:
也总是可以将其降低为 a ?BranchInst
是否有支持此类指令的 CPU?还是被select
CodeGenerator 降为跳跃?
我认为分析通过可能有好处,因为它select
保证了隐含的两个“分支” if
。但另一方面,编译器根本不需要使用该指令,所以这些passbr
无论如何都必须能够处理s。