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