[RISCV] Fold (select setcc, setcc, setcc) into and/or instructions
This patch folds `(select setcc, setcc, setcc)` into and/or instructions when truev/falsev is equal to or the inverse of condv. (select x, x, y) -> x | y https://alive2.llvm.org/ce/z/36Ud3Z (select !x, x, y) -> x & y https://alive2.llvm.org/ce/z/mYYoGF (select x, y, x) -> x & y https://alive2.llvm.org/ce/z/MAZ--X (select !x, y, x) -> x | y https://alive2.llvm.org/ce/z/ct7By5 It is the follow-up improvement of D150177, which optimizes the code of signed truncation check patterns without Zbb. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D150286
Loading
Please sign in to comment