aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/Record.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-01 22:09:11 +0000
committerChris Lattner <sabre@nondot.org>2010-03-01 22:09:11 +0000
commit117ccb7e518f05e4bf3df058fc402262f897ff0b (patch)
tree66d0966b994e263aa7dbbee8c39858e8883b366e /utils/TableGen/Record.h
parentf94bc547575236d06a45bc17c576f3e19e463803 (diff)
downloadexternal_llvm-117ccb7e518f05e4bf3df058fc402262f897ff0b.zip
external_llvm-117ccb7e518f05e4bf3df058fc402262f897ff0b.tar.gz
external_llvm-117ccb7e518f05e4bf3df058fc402262f897ff0b.tar.bz2
Fix PR2590 by making PatternSortingPredicate actually be
ordered correctly. Previously it would get in trouble when two patterns were too similar and give them nondet ordering. We force this by using the record ID order as a fallback. The testsuite diff is due to alpha patterns being ordered slightly differently, the change is a semantic noop afaict: < lda $0,-100($16) --- > subq $16,100,$0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97509 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/Record.h')
-rw-r--r--utils/TableGen/Record.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/utils/TableGen/Record.h b/utils/TableGen/Record.h
index 45f3072..90096e9 100644
--- a/utils/TableGen/Record.h
+++ b/utils/TableGen/Record.h
@@ -1225,6 +1225,10 @@ public:
ID(LastID++), Name(N), Loc(loc) {}
~Record() {}
+
+ static unsigned getNewUID() { return LastID++; }
+
+
unsigned getID() const { return ID; }
const std::string &getName() const { return Name; }