From c7fac8c8b26eacaf57db5d5ed4f8c80a47cbfe1d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 21 Feb 2010 07:55:48 +0000 Subject: [PATCH] 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. llvm-svn: 96732 --- include/llvm/CodeGen/DAGISelHeader.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/llvm/CodeGen/DAGISelHeader.h b/include/llvm/CodeGen/DAGISelHeader.h index 1e808ed217d..42583ec18b1 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);