LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::lto::LTOLLVMContext Struct Reference

A derived class of LLVMContext that initializes itself according to a given Config object. More...

#include <Config.h>

Inheritance diagram for llvm::lto::LTOLLVMContext:
[legend]
Collaboration diagram for llvm::lto::LTOLLVMContext:
[legend]

Public Member Functions

 LTOLLVMContext (const Config &C)
 
- Public Member Functions inherited from llvm::LLVMContext
 LLVMContext ()
 
 LLVMContext (LLVMContext &)=delete
 
LLVMContextoperator= (const LLVMContext &)=delete
 
 ~LLVMContext ()
 
unsigned getMDKindID (StringRef Name) const
 getMDKindID - Return a unique non-zero ID for the specified metadata kind. More...
 
void getMDKindNames (SmallVectorImpl< StringRef > &Result) const
 getMDKindNames - Populate client supplied SmallVector with the name for custom metadata IDs registered in this LLVMContext. More...
 
void getOperandBundleTags (SmallVectorImpl< StringRef > &Result) const
 getOperandBundleTags - Populate client supplied SmallVector with the bundle tags registered in this LLVMContext. More...
 
uint32_t getOperandBundleTagID (StringRef Tag) const
 getOperandBundleTagID - Maps a bundle tag to an integer ID. More...
 
void setGC (const Function &Fn, std::string GCName)
 Define the GC for a function. More...
 
const std::string & getGC (const Function &Fn)
 Return the GC for a function. More...
 
void deleteGC (const Function &Fn)
 Remove the GC for a function. More...
 
bool shouldDiscardValueNames () const
 Return true if the Context runtime configuration is set to discard all value names. More...
 
void setDiscardValueNames (bool Discard)
 Set the Context runtime configuration to discard all value name (but GlobalValue). More...
 
bool isODRUniquingDebugTypes () const
 Whether there is a string map for uniquing debug info identifiers across the context. More...
 
void enableDebugTypeODRUniquing ()
 
void disableDebugTypeODRUniquing ()
 
void setInlineAsmDiagnosticHandler (InlineAsmDiagHandlerTy DiagHandler, void *DiagContext=nullptr)
 setInlineAsmDiagnosticHandler - This method sets a handler that is invoked when problems with inline asm are detected by the backend. More...
 
InlineAsmDiagHandlerTy getInlineAsmDiagnosticHandler () const
 getInlineAsmDiagnosticHandler - Return the diagnostic handler set by setInlineAsmDiagnosticHandler. More...
 
void * getInlineAsmDiagnosticContext () const
 getInlineAsmDiagnosticContext - Return the diagnostic context set by setInlineAsmDiagnosticHandler. More...
 
void setDiagnosticHandler (DiagnosticHandlerTy DiagHandler, void *DiagContext=nullptr, bool RespectFilters=false)
 setDiagnosticHandler - This method sets a handler that is invoked when the backend needs to report anything to the user. More...
 
DiagnosticHandlerTy getDiagnosticHandler () const
 getDiagnosticHandler - Return the diagnostic handler set by setDiagnosticHandler. More...
 
void * getDiagnosticContext () const
 getDiagnosticContext - Return the diagnostic context set by setDiagnosticContext. More...
 
bool getDiagnosticHotnessRequested () const
 Return if a code hotness metric should be included in optimization diagnostics. More...
 
void setDiagnosticHotnessRequested (bool Requested)
 Set if a code hotness metric should be included in optimization diagnostics. More...
 
yaml::OutputgetDiagnosticsOutputFile ()
 Return the YAML file used by the backend to save optimization diagnostics. More...
 
void setDiagnosticsOutputFile (std::unique_ptr< yaml::Output > F)
 Set the diagnostics output file used for optimization diagnostics. More...
 
void diagnose (const DiagnosticInfo &DI)
 Report a message to the currently installed diagnostic handler. More...
 
void setYieldCallback (YieldCallbackTy Callback, void *OpaqueHandle)
 Registers a yield callback with the given context. More...
 
void yield ()
 Calls the yield callback (if applicable). More...
 
void emitError (unsigned LocCookie, const Twine &ErrorStr)
 emitError - Emit an error message to the currently installed error handler with optional location information. More...
 
void emitError (const Instruction *I, const Twine &ErrorStr)
 
void emitError (const Twine &ErrorStr)
 
template<typename ValT , typename Base , ValTBase::* Mem>
ValT getOption () const
 Query for a debug option's value. More...
 
OptBisectgetOptBisect ()
 Access the object which manages optimization bisection for failure analysis. More...
 

Static Public Member Functions

static void funcDiagHandler (const DiagnosticInfo &DI, void *Context)
 
- Static Public Member Functions inherited from llvm::LLVMContext
static const char * getDiagnosticMessagePrefix (DiagnosticSeverity Severity)
 Get the prefix that should be printed in front of a diagnostic of the given Severity. More...
 

Public Attributes

DiagnosticHandlerFunction DiagHandler
 
- Public Attributes inherited from llvm::LLVMContext
LLVMContextImpl *const pImpl
 

Additional Inherited Members

- Public Types inherited from llvm::LLVMContext
enum  {
  MD_dbg = 0, MD_tbaa = 1, MD_prof = 2, MD_fpmath = 3,
  MD_range = 4, MD_tbaa_struct = 5, MD_invariant_load = 6, MD_alias_scope = 7,
  MD_noalias = 8, MD_nontemporal = 9, MD_mem_parallel_loop_access = 10, MD_nonnull = 11,
  MD_dereferenceable = 12, MD_dereferenceable_or_null = 13, MD_make_implicit = 14, MD_unpredictable = 15,
  MD_invariant_group = 16, MD_align = 17, MD_loop = 18, MD_type = 19,
  MD_section_prefix = 20, MD_absolute_symbol = 21
}
 
enum  { OB_deopt = 0, OB_funclet = 1, OB_gc_transition = 2 }
 Known operand bundle tag IDs, which always have the same value. More...
 
typedef void(* InlineAsmDiagHandlerTy )(const SMDiagnostic &, void *Context, unsigned LocCookie)
 
typedef void(* DiagnosticHandlerTy )(const DiagnosticInfo &DI, void *Context)
 Defines the type of a diagnostic handler. More...
 
typedef void(* YieldCallbackTy )(LLVMContext *Context, void *OpaqueHandle)
 Defines the type of a yield callback. More...
 

Detailed Description

A derived class of LLVMContext that initializes itself according to a given Config object.

The purpose of this class is to tie ownership of the diagnostic handler to the context, as opposed to the Config object (which may be ephemeral).

Definition at line 164 of file Config.h.

Constructor & Destructor Documentation

llvm::lto::LTOLLVMContext::LTOLLVMContext ( const Config C)
inline

Member Function Documentation

static void llvm::lto::LTOLLVMContext::funcDiagHandler ( const DiagnosticInfo DI,
void *  Context 
)
inlinestatic

Definition at line 165 of file Config.h.

References Context.

Referenced by LTOLLVMContext().

Member Data Documentation

DiagnosticHandlerFunction llvm::lto::LTOLLVMContext::DiagHandler

Definition at line 175 of file Config.h.

Referenced by LTOLLVMContext().


The documentation for this struct was generated from the following file: