1515
1616#include " llvm/ADT/ArrayRef.h"
1717#include " llvm/ADT/STLExtras.h"
18- #include " llvm/ADT/StringMap.h"
1918#include " llvm/ADT/StringRef.h"
2019#include " llvm/MC/MCInstrItineraries.h"
2120#include " llvm/MC/MCSchedule.h"
@@ -33,55 +32,43 @@ class MCInst;
3332// ===----------------------------------------------------------------------===//
3433
3534// / Used to provide key value pairs for feature and CPU bit flags.
36- struct BasicSubtargetFeatureKV {
37- const char *Key; // /< K-V key string
38- unsigned Value; // /< K-V integer value
39- FeatureBitArray Implies; // /< K-V bit mask
35+ struct SubtargetFeatureKV {
36+ const char *Key; // /< K-V key string
37+ const char *Desc; // /< Help descriptor
38+ unsigned Value; // /< K-V integer value
39+ FeatureBitArray Implies; // /< K-V bit mask
4040
4141 // / Compare routine for std::lower_bound
4242 bool operator <(StringRef S) const {
4343 return StringRef (Key) < S;
4444 }
4545
4646 // / Compare routine for std::is_sorted.
47- bool operator <(const BasicSubtargetFeatureKV &Other) const {
47+ bool operator <(const SubtargetFeatureKV &Other) const {
4848 return StringRef (Key) < StringRef (Other.Key );
4949 }
50- constexpr BasicSubtargetFeatureKV (const char *Key, unsigned Value,
51- FeatureBitArray Implies)
52- : Key(Key), Value(Value), Implies(Implies) {}
53- };
54-
55- struct SubtargetFeatureKV : BasicSubtargetFeatureKV {
56- const char *Desc; // /< Help descriptor
57- SubtargetFeatureKV (const char *Key, const char *Desc, unsigned Value,
58- FeatureBitArray Implies)
59- : BasicSubtargetFeatureKV(Key, Value, Implies), Desc(Desc) {}
6050};
6151
6252// ===----------------------------------------------------------------------===//
6353
6454// / Used to provide key value pairs for feature and CPU bit flags.
65- struct BasicSubtargetSubTypeKV {
66- const char *Key; // /< K-V key string
67- FeatureBitArray Implies; // /< K-V bit mask
55+ struct SubtargetSubTypeKV {
56+ const char *Key; // /< K-V key string
57+ FeatureBitArray Implies; // /< K-V bit mask
58+ FeatureBitArray TuneImplies; // /< K-V bit mask
59+ const MCSchedModel *SchedModel;
6860
6961 // / Compare routine for std::lower_bound
7062 bool operator <(StringRef S) const {
7163 return StringRef (Key) < S;
7264 }
7365
7466 // / Compare routine for std::is_sorted.
75- bool operator <(const BasicSubtargetSubTypeKV &Other) const {
67+ bool operator <(const SubtargetSubTypeKV &Other) const {
7668 return StringRef (Key) < StringRef (Other.Key );
7769 }
7870};
7971
80- struct SubtargetSubTypeKV : BasicSubtargetSubTypeKV {
81- FeatureBitArray TuneImplies; // /< K-V bit mask
82- const MCSchedModel *SchedModel;
83- };
84-
8572// ===----------------------------------------------------------------------===//
8673// /
8774// / Generic base class for all target subtargets.
0 commit comments