14#ifndef LLVM_IR_OPTBISECT_H
15#define LLVM_IR_OPTBISECT_H
70 bool isEnabled()
const override {
return !BisectIntervals.empty(); }
74 BisectIntervals = std::move(Intervals);
79 BisectIntervals.clear();
84 mutable int LastBisectNum = 0;
112 bool isEnabled()
const override {
return !DisabledPasses.empty(); }
StringSet - A set-like wrapper for the StringMap.
static const char PassName[]
~OptBisect() override=default
void clearIntervals()
Clear all intervals, effectively disabling bisection.
bool shouldRunPass(StringRef PassName, StringRef IRDescription) const override
Checks the bisect intervals to determine if the specified pass should run.
void setIntervals(IntegerInclusiveIntervalUtils::IntervalList Intervals)
Set intervals directly from an IntervalList.
bool isEnabled() const override
isEnabled() should return true before calling shouldRunPass().
OptBisect()=default
Default constructor.
This class implements a mechanism to disable passes and individual optimizations at compile time base...
bool shouldRunPass(StringRef PassName, StringRef IRDescription) const override
Checks the pass name to determine if the specified pass should run.
bool isEnabled() const override
isEnabled() should return true before calling shouldRunPass().
void setDisabled(StringRef Pass)
Parses the command line argument to extract the names of the passes to be disabled.
Extensions to this class implement mechanisms to disable passes and individual optimizations at compi...
virtual bool isEnabled() const
isEnabled() should return true before calling shouldRunPass().
virtual bool shouldRunPass(StringRef PassName, StringRef IRDescription) const
IRDescription is a textual description of the IR unit the pass is running over.
virtual ~OptPassGate()=default
Pass interface - Implemented by all 'passes'.
StringRef - Represent a constant reference to a string, i.e.
StringSet - A wrapper for StringMap that provides set-like functionality.
SmallVector< IntegerInclusiveInterval, 8 > IntervalList
A list of integer intervals.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI OptPassGate & getGlobalPassGate()
Singleton instance of the OptPassGate class, so multiple pass managers don't need to coordinate their...