llvm::Function * kernel_func_
void generateEntryPoint(const TableFunctionExecutionUnit &exe_unit, bool emit_only_preflight_fn)
bool passColumnsByValue(const TableFunctionExecutionUnit &exe_unit)
std::shared_ptr< CompilationContext > finalize(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)
const CompilationOptions & co_
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)
Executor(const ExecutorId id, Data_Namespace::DataMgr *data_mgr, const size_t block_size_x, const size_t grid_size_x, const size_t max_gpu_slab_size, const std::string &debug_dir, const std::string &debug_file)
llvm::Function * entry_point_func_
TableFunctionCompilationContext(Executor *executor, const CompilationOptions &co)
TableFunctionCompilationContext & operator=(const TableFunctionCompilationContext &)=delete
std::shared_ptr< CompilationContext > compile(const TableFunctionExecutionUnit &exe_unit, bool emit_only_preflight_fn)