aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2021-05-15 15:34:43 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2021-05-15 15:34:43 +0100
commit632668c1c0e7dcf97154d2e377491cdc8cb6963c (patch)
tree9cabadf5a26629123683edc36e20d44dfd1d0945 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp
parent73635adb86bc51612a55440d8b53d828374c83fc (diff)
downloadllvm-632668c1c0e7dcf97154d2e377491cdc8cb6963c.zip
llvm-632668c1c0e7dcf97154d2e377491cdc8cb6963c.tar.gz
llvm-632668c1c0e7dcf97154d2e377491cdc8cb6963c.tar.bz2
[TableGen] TreePatternNode::isIsomorphicTo - early out for matching leafs. NFCI.
If the leafs are the same then no need to perform DefInit matching.
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index 6e8e832..d98fc18 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() ||