aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-02-21 07:55:48 +0000
committerChris Lattner <sabre@nondot.org>2010-02-21 07:55:48 +0000
commit863cc971e85950c3d2408306d03c9d70186356a2 (patch)
treebe591daf8dc7c4f0979769ed9bf481f55c03852d /include/llvm/CodeGen
parent0fb65cffa6d759f9b18177286edc29688a0a88b3 (diff)
when a match fails and we have to rollback, make sure to keep 'N' in
sync with the top of stack. This fixes a bunch of failures on larger testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96732 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/DAGISelHeader.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/DAGISelHeader.h b/include/llvm/CodeGen/DAGISelHeader.h
index 1e808ed217..42583ec18b 100644
--- a/include/llvm/CodeGen/DAGISelHeader.h
+++ b/include/llvm/CodeGen/DAGISelHeader.h
@@ -760,6 +760,7 @@ SDNode *SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
const MatchScope &LastScope = MatchScopes.back();
RecordedNodes.resize(LastScope.NumRecordedNodes);
NodeStack.resize(LastScope.NodeStackSize);
+ N = NodeStack.back();
if (LastScope.NumMatchedMemRefs != MatchedMemRefs.size())
MatchedMemRefs.resize(LastScope.NumMatchedMemRefs);