[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:08:42 PDT 2025


================
@@ -949,3 +949,33 @@ TEST_F(SelectionDAGPatternMatchTest, MatchZeroOneAllOnes) {
     EXPECT_TRUE(sd_match(Vec, DAG.get(), m_AllOnes(true)));
   }
 }
+
+TEST_F(SelectionDAGPatternMatchTest, MatchSelectCCLike) {
+  using namespace SDPatternMatch;
+
+  SDValue LHS = DAG->getConstant(1, SDLoc(), MVT::i32);
+  SDValue RHS = DAG->getConstant(2, SDLoc(), MVT::i32);
+  SDValue Select = DAG->getNode(ISD::SELECT_CC, SDLoc(), MVT::i32, LHS,
+                                RHS,
+                                LHS, RHS,
+                                DAG->getCondCode(ISD::SETLT));
+
+  ISD::CondCode CC = ISD::SETLT;
+  auto Matcher =
+      m_SelectCCLike(m_Specific(LHS), m_Specific(RHS), m_Specific(LHS),
+                     m_Specific(RHS), m_CondCode(CC));
----------------
RKSimon wrote:

probably best not to repeat LHS/RHS like this in the test?

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


More information about the llvm-commits mailing list