Class TableFunctionCompilationContext

class TableFunctionCompilationContext

Public Functions

TableFunctionCompilationContext(Executor *executor)
TableFunctionCompilationContext(const TableFunctionCompilationContext&)
TableFunctionCompilationContext &operator=(const TableFunctionCompilationContext&)
std::shared_ptr<CompilationContext> compile(const TableFunctionExecutionUnit &exe_unit, const CompilationOptions &co, bool emit_only_preflight_fn)

Private Functions

void generateEntryPoint(const TableFunctionExecutionUnit &exe_unit, bool is_gpu, 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 generateGpuKernel()
bool passColumnsByValue(const TableFunctionExecutionUnit &exe_unit, bool is_gpu)
std::shared_ptr<CompilationContext> finalize(const CompilationOptions &co, bool emit_only_preflight_fn)

Private Members

llvm::Function *entry_point_func_
llvm::Function *kernel_func_
Executor *executor_