25#ifndef LLVM_IR_LEGACYPASSNAMEPARSER_H
26#define LLVM_IR_LEGACYPASSNAMEPARSER_H
62 return P->getPassArgument().empty() ||
P->getNormalCtor() ==
nullptr ||
71 errs() <<
"Two passes with the same argument (-"
72 <<
P->getPassArgument() <<
") attempted to be registered!\n";
89 static int ValCompare(
const PassNameParser::OptionInfo *VT1,
90 const PassNameParser::OptionInfo *VT2) {
91 return VT1->Name.compare(VT2->Name);
PassInfo class - An instance of this class exists for every pass known by the system,...
void printOptionInfo(const cl::Option &O, size_t GlobalWidth) const override
void passRegistered(const PassInfo *P) override
Callback functions - These functions are invoked whenever a pass is loaded or removed from the curren...
void passEnumerate(const PassInfo *P) override
passEnumerate - Callback function invoked when someone calls enumeratePasses on this PassRegistration...
~PassNameParser() override
bool ignorablePass(const PassInfo *P) const
virtual bool ignorablePassImpl(const PassInfo *P) const
virtual void printOptionInfo(const Option &O, size_t GlobalWidth) const
unsigned findOption(StringRef Name)
SmallVector< OptionInfo, 8 > Values
void addLiteralOption(StringRef Name, const DT &V, StringRef HelpStr)
Add an entry to the mapping table.
unsigned getNumOptions() const override
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
raw_fd_ostream & errs()
This returns a reference to a raw_ostream for standard error.
void array_pod_sort(IteratorTy Start, IteratorTy End)
array_pod_sort - This sorts an array with the specified start and end extent.
PassRegistrationListener class - This class is meant to be derived from by clients that are intereste...
void enumeratePasses()
enumeratePasses - Iterate over the registered passes, calling the passEnumerate callback on each Pass...