diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-02-21 07:55:48 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-02-21 07:55:48 +0000 |
| commit | 4e5d6788b305dae97dc09cc231b6a5497b5f96ea (patch) | |
| tree | a7141416fe27de539fe79e5bfff0b12a0ccc6951 | |
| parent | 1e29fcd067bec4aa17f9b3bb817f6cba66a4e417 (diff) | |
| download | bcm5719-llvm-4e5d6788b305dae97dc09cc231b6a5497b5f96ea.tar.gz bcm5719-llvm-4e5d6788b305dae97dc09cc231b6a5497b5f96ea.zip | |
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
| -rw-r--r-- | llvm/include/llvm/CodeGen/DAGISelHeader.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/DAGISelHeader.h b/llvm/include/llvm/CodeGen/DAGISelHeader.h index 1e808ed217d..42583ec18b1 100644 --- a/llvm/include/llvm/CodeGen/DAGISelHeader.h +++ b/llvm/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); |

