9#ifndef LLVM_SANDBOXIR_PASS_H
10#define LLVM_SANDBOXIR_PASS_H
36 : AA(&AA), SE(&SE), TTI(&TTI) {}
57 "A pass name should not contain whitespaces!");
58 assert(!
Name.starts_with(
'-') &&
"A pass name should not start with '-'!");
101 AuxPassArg() =
delete;
103 : ArgIdx(ArgIdx),
Registry(Registry) {}
105 bool set(
bool NewVal);
123 Entry(
StringRef FlagStr,
bool Val) : FlagStr(FlagStr), Val(Val) {}
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds.
The main scalar evolution driver.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
ScalarEvolution & getScalarEvolution() const
Analyses(AAResults &AA, ScalarEvolution &SE, TargetTransformInfo &TTI)
AAResults & getAA() const
TargetTransformInfo & getTTI() const
static Analyses emptyForTesting()
For use by unit tests.
StringRef getFlagStr() const
LLVM_DUMP_METHOD void dump() const
void print(raw_ostream &OS) const
friend class AuxPassArgsRegistry
bool operator=(bool NewVal)
A registry for the auxiliary pass argument arguments.
void print(raw_ostream &OS) const
AuxPassArg createArg(StringRef Flag)
Builder for argument with Flag.
void parse(StringRef ArgsStr)
Parse the aux argument string ArgsStr and set the values.
LLVM_DUMP_METHOD void dump() const
FunctionPass(StringRef Name)
Name can't contain any spaces or start with '-'.
virtual bool runOnFunction(Function &F, const Analyses &A)=0
\Returns true if it modifies F.
virtual void printPipeline(raw_ostream &OS) const
Similar to print() but adds a newline. Used for testing.
const std::string Name
The pass name.
LLVM_ABI virtual LLVM_DUMP_METHOD void dump() const
friend raw_ostream & operator<<(raw_ostream &OS, const Pass &Pass)
Pass(StringRef Name)
Name can't contain any spaces or start with '-'.
virtual void print(raw_ostream &OS) const
StringRef getName() const
\Returns the name of the pass.
virtual bool runOnRegion(Region &R, const Analyses &A)=0
\Returns true if it modifies R.
RegionPass(StringRef Name)
Name can't contain any spaces or start with '-'.
This is an optimization pass for GlobalISel generic memory operations.
MachinePassRegistry< typename RegisterRegAllocBase< T >::FunctionPassCtor > RegisterRegAllocBase< T >::Registry
RegisterRegAlloc's global Registry tracks allocator registration.