From 61b3e82aaa7c64a03d458cd40a17becb71ff38bb Mon Sep 17 00:00:00 2001 From: Erich Keane Date: Fri, 30 Jun 2017 18:44:33 +0000 Subject: [PATCH] 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306857 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/LegacyPassNameParser.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h index fd9d468b06c..4cec0819640 100644 --- a/include/llvm/IR/LegacyPassNameParser.h +++ b/include/llvm/IR/LegacyPassNameParser.h @@ -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(this); - array_pod_sort(PNP->Values.begin(), PNP->Values.end(), ValLessThan); + array_pod_sort(PNP->Values.begin(), PNP->Values.end(), ValCompare); cl::parser::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); } }; -- 2.40.0