Class ScalarCodeGenerator¶
-
class
ScalarCodeGenerator: public CodeGenerator¶ Public Types
-
using
ColumnMap= std::unordered_map<InputColDescriptor, std::shared_ptr<Analyzer::ColumnVar>>¶
Public Functions
-
ScalarCodeGenerator(std::unique_ptr<llvm::Module> llvm_module)¶
-
ScalarCodeGenerator::CompiledExpression
compile(const Analyzer::Expr *expr, const bool fetch_columns, const CompilationOptions &co)¶
-
std::vector<void *>
generateNativeCode(Executor *executor, const CompiledExpression &compiled_expression, const CompilationOptions &co)¶
Private Functions
-
std::vector<llvm::Value *>
codegenColumn(const Analyzer::ColumnVar *column, const bool fetch_column, const CompilationOptions &co)¶
-
ScalarCodeGenerator::ColumnMap
prepare(const Analyzer::Expr *expr)¶
-
std::vector<void *>
generateNativeGPUCode(Executor *executor, llvm::Function *func, llvm::Function *wrapper_func, const CompilationOptions &co)¶
Private Members
-
std::unique_ptr<llvm::Module>
module_¶
-
ExecutionEngineWrapper
execution_engine_¶
-
std::shared_ptr<GpuCompilationContext>
gpu_compilation_context_¶
-
std::unique_ptr<llvm::TargetMachine>
nvptx_target_machine_¶
-
struct
CompiledExpression¶
-
using