37 cl::desc(
"Maximum optimization to perform"));
46 errs() <<
"BISECT: " << Status <<
"running pass " 47 <<
"(" << PassNum <<
") " << Name <<
" on " << TargetDesc <<
"\n";
59 return "basic block (" + BB.
getName().
str() +
") in function (" +
78 std::string Desc =
"SCC (";
89 Desc +=
"<<null function>>";
119 bool OptBisect::checkPass(
const StringRef PassName,
123 int CurBisectNum = ++LastBisectNum;
Pass interface - Implemented by all 'passes'.
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
GCNRegPressure max(const GCNRegPressure &P1, const GCNRegPressure &P2)
LLVM_NODISCARD std::string str() const
str - Get the contents as an std::string.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
Extensions to this class implement mechanisms to disable passes and individual optimizations at compi...
StringRef getName() const
Get a short "name" for the module.
virtual StringRef getPassName() const
getPassName - Return a nice clean name for a pass.
A node in the call graph for a module.
bool shouldRunPass(const Pass *P, const Module &U) override
Checks the bisect limit to determine if the specified pass should run.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
This file provides interfaces used to build and manipulate a call graph, which is a very useful tool ...
static void printPassMessage(const StringRef &Name, int PassNum, StringRef TargetDesc, bool Running)
initializer< Ty > init(const Ty &Val)
LLVM Basic Block Representation.
OptBisect()
Default constructor, initializes the OptBisect state based on the -opt-bisect-limit command line argu...
static cl::opt< int > OptBisectLimit("opt-bisect-limit", cl::Hidden, cl::init(std::numeric_limits< int >::max()), cl::Optional, cl::desc("Maximum optimization to perform"))
Module.h This file contains the declarations for the Module class.
This file declares the interface for bisecting optimizations.
static std::string getDescription(const Module &M)
Represents a single loop in the control flow graph.
StringRef getName() const
Return a constant reference to the value's name.
const Function * getParent() const
Return the enclosing method, or null if none.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
CallGraphSCC - This is a single SCC that a CallGraphSCCPass is run on.
StringRef - Represent a constant reference to a string, i.e.