diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-05-15 15:34:43 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-05-15 15:34:43 +0100 |
commit | 632668c1c0e7dcf97154d2e377491cdc8cb6963c (patch) | |
tree | 9cabadf5a26629123683edc36e20d44dfd1d0945 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | 73635adb86bc51612a55440d8b53d828374c83fc (diff) | |
download | llvm-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.cpp | 4 |
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() || |