15 #ifndef LLVM_IR_OPTIMIZATIONDIAGNOSTICINFO_H
16 #define LLVM_IR_OPTIMIZATIONDIAGNOSTICINFO_H
58 : F(Arg.F), BFI(Arg.BFI) {}
103 bool IsVerbose =
false);
108 const Twine &Msg,
bool IsVerbose =
false);
113 const Twine &Msg,
bool IsVerbose =
false) {
129 const Twine &Msg,
bool IsVerbose =
false);
134 const Twine &Msg,
bool IsVerbose =
false);
140 bool IsVerbose =
false) {
160 const Twine &MsgForAnalysisRemark,
bool IsVerbose =
false) {
216 std::unique_ptr<BlockFrequencyInfo> OwnedBFI;
227 bool shouldEmitVerbose() {
return BFI !=
nullptr; }
248 std::unique_ptr<OptimizationRemarkEmitter> ORE;
258 assert(ORE &&
"pass not run yet");
278 #endif // LLVM_IR_OPTIMIZATIONDIAGNOSTICINFO_H
LLVMContext & getContext() const
getContext - Return a reference to the LLVMContext associated with this function. ...
aarch64 AArch64 CCMP Pass
Used to set IsVerbose via the stream interface.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
DiagnosticInfoOptimizationBase::setExtraArgs setExtraArgs
DiagnosticInfoOptimizationBase::setIsVerbose setIsVerbose
yaml::Output * getDiagnosticsOutputFile()
Return the YAML file used by the backend to save optimization diagnostics.
BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequen...
A CRTP mix-in that provides informational APIs needed for analysis passes.
const DebugLoc & getDebugLoc() const
Return the debug location for this node as a DebugLoc.
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
Used in the streaming interface as the general argument type.
Common features for diagnostics dealing with optimization remarks.
Represents a single loop in the control flow graph.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
LLVM Value Representation.
A container for analyses that lazily runs them and caches their results.
This header defines various interfaces for pass management in LLVM.
A special type used by analysis passes to provide an address that identifies that particular analysis...
const BasicBlock * getParent() const