OmniSciDB  b24e664e58
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExecutionEngineWrapper Class Reference

#include <CodeCache.h>

Public Member Functions

 ExecutionEngineWrapper ()
 
 ExecutionEngineWrapper (llvm::ExecutionEngine *execution_engine)
 
 ExecutionEngineWrapper (llvm::ExecutionEngine *execution_engine, const CompilationOptions &co)
 
 ExecutionEngineWrapper (const ExecutionEngineWrapper &other)=delete
 
 ExecutionEngineWrapper (ExecutionEngineWrapper &&other)=default
 
ExecutionEngineWrapperoperator= (const ExecutionEngineWrapper &other)=delete
 
ExecutionEngineWrapperoperator= (ExecutionEngineWrapper &&other)=default
 
ExecutionEngineWrapperoperator= (llvm::ExecutionEngine *execution_engine)
 
llvm::ExecutionEngine * get ()
 
const llvm::ExecutionEngine * get () const
 
llvm::ExecutionEngine & operator* ()
 
const llvm::ExecutionEngine & operator* () const
 
llvm::ExecutionEngine * operator-> ()
 
const llvm::ExecutionEngine * operator-> () const
 

Private Attributes

std::unique_ptr
< llvm::ExecutionEngine > 
execution_engine_
 
std::unique_ptr
< llvm::JITEventListener > 
intel_jit_listener_
 

Detailed Description

Definition at line 30 of file CodeCache.h.

Constructor & Destructor Documentation

ExecutionEngineWrapper::ExecutionEngineWrapper ( )

Definition at line 137 of file NativeCodegen.cpp.

137 {}
ExecutionEngineWrapper::ExecutionEngineWrapper ( llvm::ExecutionEngine *  execution_engine)

Definition at line 139 of file NativeCodegen.cpp.

140  : execution_engine_(execution_engine) {}
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
ExecutionEngineWrapper::ExecutionEngineWrapper ( llvm::ExecutionEngine *  execution_engine,
const CompilationOptions co 
)

Definition at line 142 of file NativeCodegen.cpp.

References CHECK(), execution_engine_, logger::INFO, intel_jit_listener_, LOG, and CompilationOptions::register_intel_jit_listener_.

144  : execution_engine_(execution_engine) {
145  if (execution_engine_) {
147  intel_jit_listener_.reset(llvm::JITEventListener::createIntelJITEventListener());
149  execution_engine_->RegisterJITEventListener(intel_jit_listener_.get());
150  LOG(INFO) << "Registered IntelJITEventListener";
151  }
152  }
153 }
#define LOG(tag)
Definition: Logger.h:185
CHECK(cgen_state)
std::unique_ptr< llvm::JITEventListener > intel_jit_listener_
Definition: CodeCache.h:56
const bool register_intel_jit_listener_
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55

+ Here is the call graph for this function:

ExecutionEngineWrapper::ExecutionEngineWrapper ( const ExecutionEngineWrapper other)
delete
ExecutionEngineWrapper::ExecutionEngineWrapper ( ExecutionEngineWrapper &&  other)
default

Member Function Documentation

llvm::ExecutionEngine* ExecutionEngineWrapper::get ( )
inline

Definition at line 45 of file CodeCache.h.

References execution_engine_.

Referenced by ScalarCodeGenerator::generateNativeCode().

45 { return execution_engine_.get(); }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55

+ Here is the caller graph for this function:

const llvm::ExecutionEngine* ExecutionEngineWrapper::get ( ) const
inline

Definition at line 46 of file CodeCache.h.

References execution_engine_.

46 { return execution_engine_.get(); }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
llvm::ExecutionEngine& ExecutionEngineWrapper::operator* ( )
inline

Definition at line 48 of file CodeCache.h.

References execution_engine_.

48 { return *execution_engine_; }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
const llvm::ExecutionEngine& ExecutionEngineWrapper::operator* ( ) const
inline

Definition at line 49 of file CodeCache.h.

References execution_engine_.

49 { return *execution_engine_; }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
llvm::ExecutionEngine* ExecutionEngineWrapper::operator-> ( )
inline

Definition at line 51 of file CodeCache.h.

References execution_engine_.

51 { return execution_engine_.get(); }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
const llvm::ExecutionEngine* ExecutionEngineWrapper::operator-> ( ) const
inline

Definition at line 52 of file CodeCache.h.

References execution_engine_.

52 { return execution_engine_.get(); }
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55
ExecutionEngineWrapper& ExecutionEngineWrapper::operator= ( const ExecutionEngineWrapper other)
delete
ExecutionEngineWrapper& ExecutionEngineWrapper::operator= ( ExecutionEngineWrapper &&  other)
default
ExecutionEngineWrapper & ExecutionEngineWrapper::operator= ( llvm::ExecutionEngine *  execution_engine)

Definition at line 155 of file NativeCodegen.cpp.

References execution_engine_, and intel_jit_listener_.

156  {
157  execution_engine_.reset(execution_engine);
158  intel_jit_listener_ = nullptr;
159  return *this;
160 }
std::unique_ptr< llvm::JITEventListener > intel_jit_listener_
Definition: CodeCache.h:56
std::unique_ptr< llvm::ExecutionEngine > execution_engine_
Definition: CodeCache.h:55

Member Data Documentation

std::unique_ptr<llvm::ExecutionEngine> ExecutionEngineWrapper::execution_engine_
private

Definition at line 55 of file CodeCache.h.

Referenced by ExecutionEngineWrapper(), get(), operator*(), operator->(), and operator=().

std::unique_ptr<llvm::JITEventListener> ExecutionEngineWrapper::intel_jit_listener_
private

Definition at line 56 of file CodeCache.h.

Referenced by ExecutionEngineWrapper(), and operator=().


The documentation for this class was generated from the following files: