OmniSciDB
a5dc49c757
|
#include <TableFunctionCompilationContext.h>
Public Member Functions | |
TableFunctionCompilationContext (Executor *executor, const CompilationOptions &co) | |
TableFunctionCompilationContext (const TableFunctionCompilationContext &)=delete | |
TableFunctionCompilationContext & | operator= (const TableFunctionCompilationContext &)=delete |
std::shared_ptr < CompilationContext > | compile (const TableFunctionExecutionUnit &exe_unit, bool emit_only_preflight_fn) |
Private Member Functions | |
void | generateEntryPoint (const TableFunctionExecutionUnit &exe_unit, bool emit_only_preflight_fn) |
void | generateTableFunctionCall (const TableFunctionExecutionUnit &exe_unit, const std::vector< llvm::Value * > &func_args, llvm::BasicBlock *bb_exit, llvm::Value *output_row_count_ptr, bool emit_only_preflight_fn) |
void | generateCastsForInputTypes (const TableFunctionExecutionUnit &exe_unit, const std::vector< std::pair< llvm::Value *, const SQLTypeInfo >> &columns_to_cast, llvm::Value *mgr_ptr) |
void | generateGpuKernel () |
bool | passColumnsByValue (const TableFunctionExecutionUnit &exe_unit) |
std::shared_ptr < CompilationContext > | finalize (bool emit_only_preflight_fn) |
Private Attributes | |
llvm::Function * | entry_point_func_ |
llvm::Function * | kernel_func_ |
Executor * | executor_ |
const CompilationOptions & | co_ |
Definition at line 29 of file TableFunctionCompilationContext.h.
|
inline |
Definition at line 31 of file TableFunctionCompilationContext.h.
|
delete |
std::shared_ptr< CompilationContext > TableFunctionCompilationContext::compile | ( | const TableFunctionExecutionUnit & | exe_unit, |
bool | emit_only_preflight_fn | ||
) |
Definition at line 331 of file TableFunctionCompilationContext.cpp.
References CHECK, co_, DEBUG_TIMER, CompilationOptions::device_type, entry_point_func_, executor_, anonymous_namespace{TableFunctionCompilationContext.cpp}::exprsKey(), finalize(), anonymous_namespace{TableFunctionCompilationContext.cpp}::generate_entry_point(), generateEntryPoint(), generateGpuKernel(), QueryEngine::getInstance(), table_functions::TableFunction::getName(), GPU, TableFunctionExecutionUnit::input_exprs, TableFunctionExecutionUnit::table_func, TableFunctionExecutionUnit::target_exprs, and to_string().
Referenced by Executor::executeTableFunction().
|
private |
Definition at line 744 of file TableFunctionCompilationContext.cpp.
References CHECK, co_, DEBUG_TIMER, CompilationOptions::device_type, entry_point_func_, executor_, CodeGenerator::generateNativeCPUCode(), CodeGenerator::generateNativeGPUCode(), GPU, logger::IR, kernel_func_, CodeGenerator::link_udf_module(), LOG, and serialize_llvm_object().
Referenced by compile().
|
private |
|
private |
Definition at line 439 of file TableFunctionCompilationContext.cpp.
References anonymous_namespace{TableFunctionCompilationContext.cpp}::alloc_array(), anonymous_namespace{TableFunctionCompilationContext.cpp}::alloc_column(), anonymous_namespace{TableFunctionCompilationContext.cpp}::alloc_column_list(), CHECK, CHECK_EQ, co_, CPU, DEBUG_TIMER, CompilationOptions::device_type, entry_point_func_, executor_, generate_column_heads_load(), generateTableFunctionCall(), get_bit_width(), get_fp_ptr_type(), get_int_ptr_type(), get_int_type(), GPU, table_functions::TableFunction::hasOutputSizeKnownPreLaunch(), table_functions::TableFunction::hasPreFlightOutputSizer(), TableFunctionExecutionUnit::input_exprs, passColumnsByValue(), TableFunctionExecutionUnit::table_func, TableFunctionExecutionUnit::target_exprs, to_string(), table_functions::TableFunction::usesManager(), and verify_function_ir().
Referenced by compile().
|
private |
Definition at line 703 of file TableFunctionCompilationContext.cpp.
References CHECK, CHECK_EQ, DEBUG_TIMER, entry_point_func_, executor_, get_int_type(), and kernel_func_.
Referenced by compile().
|
private |
Definition at line 394 of file TableFunctionCompilationContext.cpp.
References entry_point_func_, executor_, get_int_type(), table_functions::TableFunction::getName(), table_functions::TableFunction::getPreFlightFnName(), and TableFunctionExecutionUnit::table_func.
Referenced by generateEntryPoint().
|
delete |
|
private |
Definition at line 379 of file TableFunctionCompilationContext.cpp.
References co_, CompilationOptions::device_type, executor_, GPU, table_functions::TableFunction::isRuntime(), and TableFunctionExecutionUnit::table_func.
Referenced by generateEntryPoint().
|
private |
Definition at line 62 of file TableFunctionCompilationContext.h.
Referenced by compile(), finalize(), generateEntryPoint(), and passColumnsByValue().
|
private |
Definition at line 59 of file TableFunctionCompilationContext.h.
Referenced by compile(), finalize(), generateEntryPoint(), generateGpuKernel(), and generateTableFunctionCall().
|
private |
Definition at line 61 of file TableFunctionCompilationContext.h.
Referenced by compile(), finalize(), generateEntryPoint(), generateGpuKernel(), generateTableFunctionCall(), and passColumnsByValue().
|
private |
Definition at line 60 of file TableFunctionCompilationContext.h.
Referenced by finalize(), and generateGpuKernel().