Go to the documentation of this file.
33 cl::desc(
"Maximum optimization to perform"));
38 errs() <<
"BISECT: " <<
Status <<
"running pass "
39 <<
"(" << PassNum <<
") " << Name <<
" on " << TargetDesc <<
"\n";
46 int CurBisectNum = ++LastBisectNum;
47 bool ShouldRun = (BisectLimit == -1 || CurBisectNum <= BisectLimit);
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.
static OptBisect & getOptBisector()
static const int Disabled
This class implements a mechanism to disable passes and individual optimizations at compile time base...
Extensions to this class implement mechanisms to disable passes and individual optimizations at compi...
OptPassGate & getGlobalPassGate()
Singleton instance of the OptBisect class, so multiple pass managers don't need to coordinate their u...
static cl::opt< int > OptBisectLimit("opt-bisect-limit", cl::Hidden, cl::init(OptBisect::Disabled), cl::Optional, cl::cb< void, int >([](int Limit) { getOptBisector().setLimit(Limit);}), cl::desc("Maximum optimization to perform"))
initializer< Ty > init(const Ty &Val)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
StringRef - Represent a constant reference to a string, i.e.
static void printPassMessage(const StringRef &Name, int PassNum, StringRef TargetDesc, bool Running)
bool isEnabled() const override
isEnabled() should return true before calling shouldRunPass().
void setLimit(int Limit)
Set the new optimization limit and reset the counter.
static const char PassName[]
bool shouldRunPass(const StringRef PassName, StringRef IRDescription) override
Checks the bisect limit to determine if the specified pass should run.