OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CpuCompilationContext Class Reference

#include <CompilationContext.h>

+ Inheritance diagram for CpuCompilationContext:
+ Collaboration diagram for CpuCompilationContext:

Public Types

using TableFunctionEntryPointPtr = int32_t(*)(const int8_t *mgr_ptr, const int8_t **input_cols, const int64_t *input_row_count, const int8_t **input_str_dict_proxy_ptrs, int64_t **out, int8_t **output_str_dict_proxy_ptrs, int64_t *output_row_count)
 

Public Member Functions

 CpuCompilationContext (ExecutionEngineWrapper &&execution_engine)
 
void setFunctionPointer (llvm::Function *function)
 
void * func () const
 
TableFunctionEntryPointPtr table_function_entry_point () const
 
- Public Member Functions inherited from CompilationContext
virtual ~CompilationContext ()
 

Private Attributes

void * func_ {nullptr}
 
ExecutionEngineWrapper execution_engine_
 

Detailed Description

Definition at line 61 of file CompilationContext.h.

Member Typedef Documentation

using CpuCompilationContext::TableFunctionEntryPointPtr = int32_t (*)(const int8_t* mgr_ptr, const int8_t** input_cols, const int64_t* input_row_count, const int8_t** input_str_dict_proxy_ptrs, int64_t** out, int8_t** output_str_dict_proxy_ptrs, int64_t* output_row_count)

Definition at line 80 of file CompilationContext.h.

Constructor & Destructor Documentation

CpuCompilationContext::CpuCompilationContext ( ExecutionEngineWrapper &&  execution_engine)
inline

Definition at line 63 of file CompilationContext.h.

64  : execution_engine_(std::move(execution_engine)) {}
ExecutionEngineWrapper execution_engine_

Member Function Documentation

void* CpuCompilationContext::func ( ) const
inline

Definition at line 72 of file CompilationContext.h.

References func_.

Referenced by QueryExecutionContext::launchCpuCode().

72 { return func_; }

+ Here is the caller graph for this function:

void CpuCompilationContext::setFunctionPointer ( llvm::Function *  function)
inline

Definition at line 66 of file CompilationContext.h.

References CHECK, execution_engine_, and func_.

66  {
67  func_ = execution_engine_->getPointerToFunction(function);
68  CHECK(func_);
69  execution_engine_->removeModule(function->getParent());
70  }
ExecutionEngineWrapper execution_engine_
#define CHECK(condition)
Definition: Logger.h:291
TableFunctionEntryPointPtr CpuCompilationContext::table_function_entry_point ( ) const
inline

Definition at line 81 of file CompilationContext.h.

References func_.

81  {
83  }
int32_t(*)(const int8_t *mgr_ptr, const int8_t **input_cols, const int64_t *input_row_count, const int8_t **input_str_dict_proxy_ptrs, int64_t **out, int8_t **output_str_dict_proxy_ptrs, int64_t *output_row_count) TableFunctionEntryPointPtr

Member Data Documentation

ExecutionEngineWrapper CpuCompilationContext::execution_engine_
private

Definition at line 87 of file CompilationContext.h.

Referenced by setFunctionPointer().

void* CpuCompilationContext::func_ {nullptr}
private

Definition at line 86 of file CompilationContext.h.

Referenced by func(), setFunctionPointer(), and table_function_entry_point().


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