[llvm] r306857 - Fix opt --help ordering of available optimizations.
Erich Keane via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 30 11:44:33 PDT 2017
Author: erichkeane
Date: Fri Jun 30 11:44:33 2017
New Revision: 306857
URL: http://llvm.org/viewvc/llvm-project?rev=306857&view=rev
Log:
Fix opt --help ordering of available optimizations.
Introduced in -r283004, the PassNameParser sorts Optimization options in
reverse. This is because the commit replaced a compare function with "<"
(which would seemingly be proper based on the name of the comparison function).
The result is the 'true' result is converted to '1', which is inverted.
This patch fixes this by replacing the '<' operator call on StringRef with a
call to the StringRef compare function. It also renames the function to better
reflect its meaning.
Differential Revision: https://reviews.llvm.org/D34831
Modified:
llvm/trunk/include/llvm/IR/LegacyPassNameParser.h
Modified: llvm/trunk/include/llvm/IR/LegacyPassNameParser.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/LegacyPassNameParser.h?rev=306857&r1=306856&r2=306857&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/LegacyPassNameParser.h (original)
+++ llvm/trunk/include/llvm/IR/LegacyPassNameParser.h Fri Jun 30 11:44:33 2017
@@ -81,15 +81,15 @@ public:
// default implementation to sort the table before we print...
void printOptionInfo(const cl::Option &O, size_t GlobalWidth) const override {
PassNameParser *PNP = const_cast<PassNameParser*>(this);
- array_pod_sort(PNP->Values.begin(), PNP->Values.end(), ValLessThan);
+ array_pod_sort(PNP->Values.begin(), PNP->Values.end(), ValCompare);
cl::parser<const PassInfo*>::printOptionInfo(O, GlobalWidth);
}
private:
- // ValLessThan - Provide a sorting comparator for Values elements...
- static int ValLessThan(const PassNameParser::OptionInfo *VT1,
- const PassNameParser::OptionInfo *VT2) {
- return VT1->Name < VT2->Name;
+ // ValCompare - Provide a sorting comparator for Values elements...
+ static int ValCompare(const PassNameParser::OptionInfo *VT1,
+ const PassNameParser::OptionInfo *VT2) {
+ return VT1->Name.compare(VT2->Name);
}
};
More information about the llvm-commits
mailing list