diff options
author | Craig Topper <craig.topper@sifive.com> | 2023-05-23 13:32:18 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2023-05-23 13:32:18 -0700 |
commit | d91f65ea36fa980d82b45392a0664ef60659067f (patch) | |
tree | fa6d0ad77eb245d0a979d6d00b2a9acce418dbf4 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | 3be667ae5a10e276acf7d1bb7e8c29ba07578032 (diff) | |
download | llvm-d91f65ea36fa980d82b45392a0664ef60659067f.zip llvm-d91f65ea36fa980d82b45392a0664ef60659067f.tar.gz llvm-d91f65ea36fa980d82b45392a0664ef60659067f.tar.bz2 |
[TableGen] Filter duplicate predicates in PatternToMatch::getPredicateRecords.
Recent changes to RISC-V cause the same predicate to appear in the
predicate list multiple times in some cases. This patch filters the
duplicates to reduce the number of predicate string variations.
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index 1ce735c..be0a5c2 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -1495,6 +1495,9 @@ void PatternToMatch::getPredicateRecords( } // Sort so that different orders get canonicalized to the same string. llvm::sort(PredicateRecs, LessRecord()); + // Remove duplicate predicates. + PredicateRecs.erase(std::unique(PredicateRecs.begin(), PredicateRecs.end()), + PredicateRecs.end()); } /// getPredicateCheck - Return a single string containing all of this |