remove SectionFlags::Small: it is only used on Xcore, and we'll find
[oota-llvm.git] / include / llvm / Support / PassNameParser.h
index 37f07972713c64ddd8e358c8184a29182a744ec6..a437e2048ec7e184955a20971b2366bafa06ccaa 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -24,6 +24,7 @@
 #define LLVM_SUPPORT_PASS_NAME_PARSER_H
 
 #include "llvm/Support/CommandLine.h"
+#include "llvm/Support/ErrorHandling.h"
 #include "llvm/Pass.h"
 #include <algorithm>
 #include <cstring>
@@ -67,7 +68,7 @@ public:
     if (findOption(P->getPassArgument()) != getNumOptions()) {
       cerr << "Two passes with the same argument (-"
            << P->getPassArgument() << ") attempted to be registered!\n";
-      abort();
+      llvm_unreachable(0);
     }
     addLiteralOption(P->getPassArgument(), P, P->getPassName());
   }
@@ -82,19 +83,19 @@ public:
 
   // printOptionInfo - Print out information about this option.  Override the
   // default implementation to sort the table before we print...
-  virtual void printOptionInfo(const cl::Option &O, unsigned GlobalWidth) const{
+  virtual void printOptionInfo(const cl::Option &O, size_t GlobalWidth) const {
     PassNameParser *PNP = const_cast<PassNameParser*>(this);
     std::sort(PNP->Values.begin(), PNP->Values.end(), ValLessThan);
     cl::parser<const PassInfo*>::printOptionInfo(O, GlobalWidth);
   }
 };
 
-//===----------------------------------------------------------------------===//
-// FilteredPassNameParser class - Make use of the pass registration
-// mechanism to automatically add a command line argument to opt for
-// each pass that satisfies a filter criteria.  Filter should return
-// true for passes to be registered as command-line options.
-//
+///===----------------------------------------------------------------------===//
+/// FilteredPassNameParser class - Make use of the pass registration
+/// mechanism to automatically add a command line argument to opt for
+/// each pass that satisfies a filter criteria.  Filter should return
+/// true for passes to be registered as command-line options.
+///
 template<typename Filter>
 class FilteredPassNameParser : public PassNameParser {
 private:
@@ -104,22 +105,22 @@ public:
   bool ignorablePassImpl(const PassInfo *P) const { return !filter(*P); }
 };
 
-//===----------------------------------------------------------------------===//
-// PassArgFilter - A filter for use with PassNameFilterParser that only
-// accepts a Pass whose Arg matches certain strings.
-//
-// Use like this:
-//
-// extern const char AllowedPassArgs[] = "-anders_aa -dse";
-//
-// static cl::list<
-//   const PassInfo*,
-//   bool,
-//   FilteredPassNameParser<PassArgFilter<AllowedPassArgs> > >
-// PassList(cl::desc("LLVM optimizations available:"));
-//
-// Only the -anders_aa and -dse options will be available to the user.
-//
+///===----------------------------------------------------------------------===//
+/// PassArgFilter - A filter for use with PassNameFilterParser that only
+/// accepts a Pass whose Arg matches certain strings.
+///
+/// Use like this:
+///
+/// extern const char AllowedPassArgs[] = "-anders_aa -dse";
+///
+/// static cl::list<
+///   const PassInfo*,
+///   bool,
+///   FilteredPassNameParser<PassArgFilter<AllowedPassArgs> > >
+/// PassList(cl::desc("Passes available:"));
+///
+/// Only the -anders_aa and -dse options will be available to the user.
+///
 template<const char *Args>
 class PassArgFilter {
 public:
@@ -129,4 +130,5 @@ public:
 };
 
 } // End llvm namespace
+
 #endif