[PATCH] D129757: [RISCV] Optimize SELECT_CC when the true value of select is Constant

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 02:59:12 PDT 2022


frasercrmck added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:3897
+      // (select (setcc lhs, rhs, CC), constant, falsev)
+      // -> (select (setcc lhs, rhs, OppositeCC), falsev, constant)
+      TargetCC =
----------------
`InverseCC` might be more canonical here?


================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:3900
+          DAG.getCondCode(ISD::getSetCCInverse(CCVal, LHS.getValueType()));
+      SDValue Ops[] = {LHS, RHS, TargetCC, FalseV, TrueV};
+      return DAG.getNode(RISCVISD::SELECT_CC, DL, Op.getValueType(), Ops);
----------------
Could we instead just `std::swap(TrueV, FalseV)` and let it fall through? I think that's clearer to read.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129757/new/

https://reviews.llvm.org/D129757



More information about the llvm-commits mailing list