[llvm-commits] CVS: llvm/lib/Target/SubtargetFeature.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Oct 22 22:33:50 PDT 2005
Changes in directory llvm/lib/Target:
SubtargetFeature.cpp updated: 1.5 -> 1.6
---
Log message:
Improve help output.
---
Diffs of the changes: (+16 -12)
SubtargetFeature.cpp | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
Index: llvm/lib/Target/SubtargetFeature.cpp
diff -u llvm/lib/Target/SubtargetFeature.cpp:1.5 llvm/lib/Target/SubtargetFeature.cpp:1.6
--- llvm/lib/Target/SubtargetFeature.cpp:1.5 Sun Oct 23 00:26:26 2005
+++ llvm/lib/Target/SubtargetFeature.cpp Sun Oct 23 00:33:39 2005
@@ -125,25 +125,29 @@
/// Display help for feature choices.
///
-static void Help(const char *Heading, const SubtargetFeatureKV *Table,
+static void Help(bool isFeature, const SubtargetFeatureKV *Table,
size_t TableSize) {
- // Determine the length of the longest key
+ // Determine the length of the longest key.
size_t MaxLen = 0;
for (size_t i = 0; i < TableSize; i++)
MaxLen = std::max(MaxLen, std::strlen(Table[i].Key));
- // Print heading
- std::cerr << "Help for " << Heading << " choices:\n\n";
- // For each feature
+
+ std::cerr << "Available " << (isFeature ? "features" : "CPUs")
+ << " for this target:\n\n";
+
for (size_t i = 0; i < TableSize; i++) {
// Compute required padding
size_t Pad = MaxLen - std::strlen(Table[i].Key);
- // Print details
std::cerr << Table[i].Key << std::string(Pad, ' ') << " - "
- << Table[i].Desc << "\n";
+ << Table[i].Desc << ".\n";
+ }
+
+ std::cerr << "\n";
+ if (isFeature) {
+ std::cerr
+ << "Use +feature to enable a feature, or -feature to disable it.\n"
+ << "For example, llc -mcpu=mycpu -mattr=+feature1,-feature2\n";
}
- // Wrap it up
- std::cerr << "\n\n";
- // Leave tool
exit(1);
}
@@ -202,7 +206,7 @@
// Check if default is needed
if (Features[0].empty()) Features[0] = DefaultCPU;
// Check for help
- if (Features[0] == "help") Help("CPU", CPUTable, CPUTableSize);
+ if (Features[0] == "help") Help(false, CPUTable, CPUTableSize);
// Find CPU entry
const SubtargetFeatureKV *CPUEntry =
Find(Features[0], CPUTable, CPUTableSize);
@@ -221,7 +225,7 @@
// Get next feature
const std::string &Feature = Features[i];
// Check for help
- if (Feature == "+help") Help("feature", FeatureTable, FeatureTableSize);
+ if (Feature == "+help") Help(true, FeatureTable, FeatureTableSize);
// Find feature in table.
const SubtargetFeatureKV *FeatureEntry =
Find(StripFlag(Feature), FeatureTable, FeatureTableSize);
More information about the llvm-commits
mailing list