Home | History | Annotate | Download | only in MC

Lines Matching full:feature

28 /// hasFlag - Determine if a feature has a flag; '+' or '-'
30 static inline bool hasFlag(const StringRef Feature) {
31 assert(!Feature.empty() && "Empty string");
33 char Ch = Feature[0];
40 static inline std::string StripFlag(const StringRef Feature) {
41 return hasFlag(Feature) ? Feature.substr(1) : Feature;
46 static inline bool isEnabled(const StringRef Feature) {
47 assert(!Feature.empty() && "Empty string");
49 char Ch = Feature[0];
69 // Start with the first feature
71 // For each successive feature
75 // Add the feature
111 /// Display help for feature choices.
115 // Determine the length of the longest CPU and Feature entries.
125 // Print the Feature table.
127 for (auto &Feature : FeatTable)
128 errs() << format(" %-*s - %s.\n", MaxFeatLen, Feature.Key, Feature.Desc);
131 errs() << "Use +feature to enable a feature, or -feature to disable it.\n"
149 /// SetImpliedBits - For each feature that is (transitively) implied by this
150 /// feature, set it.
165 /// ClearImpliedBits - For each feature that (transitively) implies this
166 /// feature, clear it.
181 /// ToggleFeature - Toggle a feature and returns the newly updated feature
184 SubtargetFeatures::ToggleFeature(uint64_t Bits, const StringRef Feature,
187 // Find feature in table.
189 Find(StripFlag(Feature), FeatureTable);
195 // For each feature that implies this, clear it.
200 // For each feature that this implies, set it.
204 errs() << "'" << Feature
205 << "' is not a recognized feature for this target"
206 << " (ignoring feature)\n";
213 /// getFeatureBits - Get feature bits a CPU.
245 // Set base feature bits
248 // Set the feature implied by this CPU feature, if any.
260 // Iterate through each feature
261 for (auto &Feature : Features) {
263 if (Feature == "+help")
266 // Find feature in table.
268 Find(StripFlag(Feature), FeatureTable);
271 // Enable/disable feature in bits
272 if (isEnabled(Feature)) {
275 // For each feature that this implies, set it.
280 // For each feature that implies this, clear it.
284 errs() << "'" << Feature
285 << "' is not a recognized feature for this target"
286 << " (ignoring feature)\n";
293 /// print - Print feature string.
302 /// dump - Dump feature info.