LLVM  4.0.0
Classes | Namespaces | Typedefs | Enumerations | Functions
DiagnosticInfo.h File Reference
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm-c/Types.h"
#include <functional>
#include <algorithm>
#include <cstdint>
#include <iterator>
#include <string>
Include dependency graph for DiagnosticInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::DiagnosticInfo
 This is the base abstract class for diagnostic reporting in the backend. More...
 
class  llvm::DiagnosticInfoInlineAsm
 Diagnostic information for inline asm reporting. More...
 
class  llvm::DiagnosticInfoResourceLimit
 Diagnostic information for stack size etc. More...
 
class  llvm::DiagnosticInfoStackSize
 
class  llvm::DiagnosticInfoDebugMetadataVersion
 Diagnostic information for debug metadata version reporting. More...
 
class  llvm::DiagnosticInfoIgnoringInvalidDebugMetadata
 Diagnostic information for stripping invalid debug metadata. More...
 
class  llvm::DiagnosticInfoSampleProfile
 Diagnostic information for the sample profiler. More...
 
class  llvm::DiagnosticInfoPGOProfile
 Diagnostic information for the PGO profiler. More...
 
class  llvm::DiagnosticInfoWithDebugLocBase
 Common features for diagnostics with an associated DebugLoc. More...
 
class  llvm::DiagnosticInfoOptimizationBase
 Common features for diagnostics dealing with optimization remarks. More...
 
struct  llvm::DiagnosticInfoOptimizationBase::setIsVerbose
 Used to set IsVerbose via the stream interface. More...
 
struct  llvm::DiagnosticInfoOptimizationBase::setExtraArgs
 When an instance of this is inserted into the stream, the arguments following will not appear in the remark printed in the compiler output (-Rpass) but only in the optimization record file (-fsave-optimization-record). More...
 
struct  llvm::DiagnosticInfoOptimizationBase::Argument
 Used in the streaming interface as the general argument type. More...
 
class  llvm::OptimizationRemark
 Diagnostic information for applied optimization remarks. More...
 
class  llvm::OptimizationRemarkMissed
 Diagnostic information for missed-optimization remarks. More...
 
class  llvm::OptimizationRemarkAnalysis
 Diagnostic information for optimization analysis remarks. More...
 
class  llvm::OptimizationRemarkAnalysisFPCommute
 Diagnostic information for optimization analysis remarks related to floating-point non-commutativity. More...
 
class  llvm::OptimizationRemarkAnalysisAliasing
 Diagnostic information for optimization analysis remarks related to pointer aliasing. More...
 
class  llvm::DiagnosticInfoMIRParser
 Diagnostic information for machine IR parser. More...
 
class  llvm::DiagnosticInfoISelFallback
 Diagnostic information for ISel fallback path. More...
 
class  llvm::DiagnosticInfoOptimizationFailure
 Diagnostic information for optimization failures. More...
 
class  llvm::DiagnosticInfoUnsupported
 Diagnostic information for unsupported feature in backend. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Typedefs

typedef std::function< void(const
DiagnosticInfo &)> 
llvm::DiagnosticHandlerFunction
 

Enumerations

enum  llvm::DiagnosticSeverity : char { llvm::DS_Error, llvm::DS_Warning, llvm::DS_Remark, llvm::DS_Note }
 Defines the different supported severity of a diagnostic. More...
 
enum  llvm::DiagnosticKind {
  llvm::DK_InlineAsm, llvm::DK_ResourceLimit, llvm::DK_StackSize, llvm::DK_Linker,
  llvm::DK_DebugMetadataVersion, llvm::DK_DebugMetadataInvalid, llvm::DK_ISelFallback, llvm::DK_SampleProfile,
  llvm::DK_OptimizationRemark, llvm::DK_OptimizationRemarkMissed, llvm::DK_OptimizationRemarkAnalysis, llvm::DK_OptimizationRemarkAnalysisFPCommute,
  llvm::DK_OptimizationRemarkAnalysisAliasing, llvm::DK_OptimizationFailure, llvm::DK_FirstRemark = DK_OptimizationRemark, llvm::DK_LastRemark = DK_OptimizationFailure,
  llvm::DK_MIRParser, llvm::DK_PGOProfile, llvm::DK_Unsupported, llvm::DK_FirstPluginKind
}
 Defines the different supported kind of a diagnostic. More...
 

Functions

int llvm::getNextAvailablePluginDiagnosticKind ()
 Get the next available kind ID for a plugin diagnostic. More...
 
void llvm::emitOptimizationRemark (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit an optimization-applied message. More...
 
void llvm::emitOptimizationRemarkMissed (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit an optimization-missed message. More...
 
void llvm::emitOptimizationRemarkAnalysis (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit an optimization analysis remark message. More...
 
void llvm::emitOptimizationRemarkAnalysisFPCommute (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit an optimization analysis remark related to messages about floating-point non-commutativity. More...
 
void llvm::emitOptimizationRemarkAnalysisAliasing (LLVMContext &Ctx, const char *PassName, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit an optimization analysis remark related to messages about pointer aliasing. More...
 
void llvm::emitLoopVectorizeWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit a warning when loop vectorization is specified but fails. More...
 
void llvm::emitLoopInterleaveWarning (LLVMContext &Ctx, const Function &Fn, const DebugLoc &DLoc, const Twine &Msg)
 Emit a warning when loop interleaving is specified but fails. More...