aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2008-09-11 17:05:32 +0000
committerJim Grosbach <grosbach@apple.com>2008-09-11 17:05:32 +0000
commit36ed4557fe38a56a6920007237f9feb746cebd5a (patch)
tree83394f72c8d240d8b24425c29fcb14356deaf56a /utils
parent26cce28a3dd67fa562ffcca9e02c2d3c79392142 (diff)
downloadexternal_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.zip
external_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.tar.gz
external_llvm-36ed4557fe38a56a6920007237f9feb746cebd5a.tar.bz2
lib/Target/SubtargetFeature.cpp asserts that the FeatureKV[] table be sorted
by its first field, but TableGen doesn't actually enforce creating it that way. TableGen sorts the records that will be used to create it by the names of the records, not the Name field of those records. This patch corrects the sort to use the "Name" field of the record as the sort key. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/Record.h3
-rw-r--r--utils/TableGen/SubtargetEmitter.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/utils/TableGen/Record.h b/utils/TableGen/Record.h
index d597715..90e246e 100644
--- a/utils/TableGen/Record.h
+++ b/utils/TableGen/Record.h
@@ -1183,7 +1183,8 @@ struct LessRecord {
}
};
-/// LessRecord - Sorting predicate to sort record pointers by their name field.
+/// LessRecordFieldName - Sorting predicate to sort record pointers by their
+/// name field.
///
struct LessRecordFieldName {
bool operator()(const Record *Rec1, const Record *Rec2) const {
diff --git a/utils/TableGen/SubtargetEmitter.cpp b/utils/TableGen/SubtargetEmitter.cpp
index 9b5f6df..b05b996 100644
--- a/utils/TableGen/SubtargetEmitter.cpp
+++ b/utils/TableGen/SubtargetEmitter.cpp
@@ -61,7 +61,7 @@ void SubtargetEmitter::FeatureKeyValues(std::ostream &OS) {
// Gather and sort all the features
std::vector<Record*> FeatureList =
Records.getAllDerivedDefinitions("SubtargetFeature");
- std::sort(FeatureList.begin(), FeatureList.end(), LessRecord());
+ std::sort(FeatureList.begin(), FeatureList.end(), LessRecordFieldName());
// Begin feature table
OS << "// Sorted (by key) array of values for CPU features.\n"