[RISCV] Fold (select_cc (setlt X, Y), 0, ne, trueV, falseV) -> (select_cc X, Y, lt...
authorCraig Topper <craig.topper@sifive.com>
Sun, 7 Mar 2021 17:36:53 +0000 (09:36 -0800)
committerCraig Topper <craig.topper@sifive.com>
Sun, 7 Mar 2021 17:44:56 +0000 (09:44 -0800)
commitc91b3c9e63c3580348701a81a82740d84d2e5102
tree4d51e03fb9aa85904c79f924a3709c7967df3948
parentf449e5ef9bee553b9e3626ee70bcae13068a4403
[RISCV] Fold (select_cc (setlt X, Y), 0, ne, trueV, falseV) -> (select_cc X, Y, lt, trueV, falseV)

A setcc can be created during LegalizeDAG after select_cc has been
created. This combine will enable us to fold these late setccs.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D98132
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/test/CodeGen/RISCV/uadd_sat.ll
llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
llvm/test/CodeGen/RISCV/usub_sat.ll
llvm/test/CodeGen/RISCV/usub_sat_plus.ll
llvm/test/CodeGen/RISCV/xaluo.ll