[llvm] Add m_SelectCCLike matcher to match SELECT_CC or SELECT with SETCC (PR #149646)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 22 06:43:47 PDT 2025


================
@@ -578,6 +578,21 @@ m_InsertSubvector(const LHS &Base, const RHS &Sub, const IDX &Idx) {
   return TernaryOpc_match<LHS, RHS, IDX>(ISD::INSERT_SUBVECTOR, Base, Sub, Idx);
 }
 
+template <typename LTy, typename RTy, typename TTy, typename FTy, typename CCTy>
+inline auto m_SelectCC(LTy &&L, RTy &&R, TTy &&T, FTy &&F, CCTy &&CC) {
+  return m_Node(ISD::SELECT_CC, std::forward<LTy>(L), std::forward<RTy>(R),
+                std::forward<TTy>(T), std::forward<FTy>(F),
----------------
RKSimon wrote:

why do you have to use forwarding?

https://github.com/llvm/llvm-project/pull/149646


More information about the llvm-commits mailing list