[llvm] 632668c - [TableGen] TreePatternNode::isIsomorphicTo - early out for matching leafs. NFCI.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat May 15 07:35:07 PDT 2021


Author: Simon Pilgrim
Date: 2021-05-15T15:34:43+01:00
New Revision: 632668c1c0e7dcf97154d2e377491cdc8cb6963c

URL: https://github.com/llvm/llvm-project/commit/632668c1c0e7dcf97154d2e377491cdc8cb6963c
DIFF: https://github.com/llvm/llvm-project/commit/632668c1c0e7dcf97154d2e377491cdc8cb6963c.diff

LOG: [TableGen] TreePatternNode::isIsomorphicTo - early out for matching leafs. NFCI.

If the leafs are the same then no need to perform DefInit matching.

Added: 
    

Modified: 
    llvm/utils/TableGen/CodeGenDAGPatterns.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index 6e8e832763e7c..d98fc185e5fb1 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -1946,6 +1946,8 @@ bool TreePatternNode::isIsomorphicTo(const TreePatternNode *N,
     return false;
 
   if (isLeaf()) {
+    if (getLeafValue() == N->getLeafValue())
+      return true;
     if (DefInit *DI = dyn_cast<DefInit>(getLeafValue())) {
       if (DefInit *NDI = dyn_cast<DefInit>(N->getLeafValue())) {
         return ((DI->getDef() == NDI->getDef())
@@ -1953,7 +1955,7 @@ bool TreePatternNode::isIsomorphicTo(const TreePatternNode *N,
                     || getName() == N->getName()));
       }
     }
-    return getLeafValue() == N->getLeafValue();
+    return false;
   }
 
   if (N->getOperator() != getOperator() ||


        


More information about the llvm-commits mailing list