diff options
author | Chris Lattner <sabre@nondot.org> | 2005-10-14 03:54:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-10-14 03:54:49 +0000 |
commit | 90c5b9c83cfc5ef6ee83acea70fb248b09327b3f (patch) | |
tree | 7960dbe06d274c1e72e56acabe95ed241e6a4412 /llvm/utils/TableGen/CodeGenTarget.cpp | |
parent | 6e673b24d32daa21d1081be8a9a39d1bebc6532f (diff) | |
download | bcm5719-llvm-90c5b9c83cfc5ef6ee83acea70fb248b09327b3f.tar.gz bcm5719-llvm-90c5b9c83cfc5ef6ee83acea70fb248b09327b3f.zip |
Do not let getLegalValueTypes return a list with duplicates in it
llvm-svn: 23723
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenTarget.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.cpp b/llvm/utils/TableGen/CodeGenTarget.cpp index f0fdeae9456..1b3605a273c 100644 --- a/llvm/utils/TableGen/CodeGenTarget.cpp +++ b/llvm/utils/TableGen/CodeGenTarget.cpp @@ -19,6 +19,7 @@ #include "llvm/ADT/StringExtras.h" #include "llvm/Support/CommandLine.h" #include <set> +#include <algorithm> using namespace llvm; static cl::opt<unsigned> @@ -179,6 +180,12 @@ void CodeGenTarget::ReadLegalValueTypes() const { const std::vector<CodeGenRegisterClass> &RCs = getRegisterClasses(); for (unsigned i = 0, e = RCs.size(); i != e; ++i) LegalValueTypes.push_back(RCs[i].VT); + + // Remove duplicates. + std::sort(LegalValueTypes.begin(), LegalValueTypes.end()); + LegalValueTypes.erase(std::unique(LegalValueTypes.begin(), + LegalValueTypes.end()), + LegalValueTypes.end()); } |