wangpc-pp wrote: Ping. I'd like to push this forward because we don't take branch probabilities into consideration now. Example: https://godbolt.org/z/doGhYadKM We should use branches instead of selects in this case and this patch (the enabling of SelectOpt) will optimize this. `clang -O3 -march=rv64gc_zba_zbb_zbc_zbs_zicond -Xclang -target-feature -Xclang +enable-select-opt -Xclang -target-feature -Xclang +predictable-select-expensive` ``` New Select group with %. = select i1 %cmp, i32 5, i32 13, !prof !9 Analyzing select group containing %. = select i1 %cmp, i32 5, i32 13, !prof !9 Converted to branch because of highly predictable branch. ``` ```asm func0: # @func0 li a2, 5 mul a1, a0, a0 bge a2, a0, .LBB0_2 addw a0, a1, a2 ret .LBB0_2: # %select.false li a2, 13 addw a0, a1, a2 ret ```
https://github.com/llvm/llvm-project/pull/80124 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits