OmniSciDB
a5dc49c757
|
Functions | |
Value * | emit_load (Value *ptr, Type ptr_type, Function *function) |
Value * | emit_load_i32 (Value *ptr, Function *function) |
Value * | emit_load_i64 (Value *ptr, Function *function) |
Value * | emit_read_int_from_buff (Value *ptr, const int8_t compact_sz, Function *function) |
void | emit_aggregate_one_value (const std::string &agg_kind, Value *val_ptr, Value *other_ptr, const size_t chosen_bytes, const TargetInfo &agg_info, Function *ir_reduce_one_entry) |
void | emit_aggregate_one_nullable_value (SQLAgg const sql_agg, Value *val_ptr, Value *other_ptr, const int64_t init_val, const size_t chosen_bytes, const TargetInfo &agg_info, Function *ir_reduce_one_entry) |
void | emit_aggregate_one_count (Value *val_ptr, Value *other_ptr, const size_t chosen_bytes, Function *ir_reduce_one_entry) |
void | emit_write_projection (Value *slot_pi8, Value *other_pi8, const int64_t init_val, const size_t chosen_bytes, Function *ir_reduce_one_entry) |
const Value * | emit_checked_write_projection (Value *slot_pi8, Value *other_pi8, const int64_t init_val, const size_t chosen_bytes, Function *ir_reduce_one_entry) |
std::unique_ptr< Function > | create_function (const std::string name, const std::vector< Function::NamedArg > &arg_types, const Type ret_type, const bool always_inline) |
std::unique_ptr< Function > | setup_is_empty_entry (ReductionCode *reduction_code) |
std::unique_ptr< Function > | setup_reduce_one_entry (ReductionCode *reduction_code, const QueryDescriptionType hash_type) |
std::unique_ptr< Function > | setup_reduce_one_entry_idx (ReductionCode *reduction_code) |
std::unique_ptr< Function > | setup_reduce_loop (ReductionCode *reduction_code) |
llvm::Function * | create_llvm_function (const Function *function, CgenState *cgen_state) |
ReductionCode | setup_functions_ir (const QueryDescriptionType hash_type) |
bool | is_aggregate_query (const QueryDescriptionType hash_type) |
void | varlen_buffer_sample (int8_t *this_ptr1, int8_t *this_ptr2, const int8_t *that_ptr1, const int8_t *that_ptr2, const int64_t init_val) |
void | generate_loop_body (For *for_loop, Function *ir_reduce_loop, Function *ir_reduce_one_entry_idx, Value *this_buff, Value *that_buff, Value *start_index, Value *that_entry_count, Value *this_qmd_handle, Value *that_qmd_handle, Value *serialized_varlen_buffer) |
std::string | target_info_key (const TargetInfo &target_info) |
Variables | |
const int32_t | WATCHDOG_ERROR |
const int32_t | INTERRUPT_ERROR {10} |
const size_t | INTERP_THRESHOLD {25} |
std::unique_ptr<Function> anonymous_namespace{ResultSetReductionJIT.cpp}::create_function | ( | const std::string | name, |
const std::vector< Function::NamedArg > & | arg_types, | ||
const Type | ret_type, | ||
const bool | always_inline | ||
) |
Definition at line 275 of file ResultSetReductionJIT.cpp.
References setup::name.
Referenced by setup_is_empty_entry(), setup_reduce_loop(), setup_reduce_one_entry(), and setup_reduce_one_entry_idx().
llvm::Function* anonymous_namespace{ResultSetReductionJIT.cpp}::create_llvm_function | ( | const Function * | function, |
CgenState * | cgen_state | ||
) |
Definition at line 351 of file ResultSetReductionJIT.cpp.
References AUTOMATIC_IR_METADATA, CHECK, CgenState::context_, llvm_type(), mark_function_always_inline(), CgenState::module_, setup::name, and Void.
Referenced by ResultSetReductionJIT::codegen(), and GpuReductionHelperJIT::codegen().
void anonymous_namespace{ResultSetReductionJIT.cpp}::emit_aggregate_one_count | ( | Value * | val_ptr, |
Value * | other_ptr, | ||
const size_t | chosen_bytes, | ||
Function * | ir_reduce_one_entry | ||
) |
Definition at line 185 of file ResultSetReductionJIT.cpp.
References Cast::BitCast, CHECK_EQ, emit_load(), Int32Ptr, and Int64Ptr.
Referenced by ResultSetReductionJIT::reduceOneAggregateSlot().
void anonymous_namespace{ResultSetReductionJIT.cpp}::emit_aggregate_one_nullable_value | ( | SQLAgg const | sql_agg, |
Value * | val_ptr, | ||
Value * | other_ptr, | ||
const int64_t | init_val, | ||
const size_t | chosen_bytes, | ||
const TargetInfo & | agg_info, | ||
Function * | ir_reduce_one_entry | ||
) |
Definition at line 125 of file ResultSetReductionJIT.cpp.
References run_benchmark_import::args, Cast::BitCast, CHECK_EQ, Double, DoublePtr, emit_aggregate_one_value(), emit_load(), Float, FloatPtr, get_compact_type(), get_non_conditional_agg_type(), Int32, Int32Ptr, Int64, Int64Ptr, TargetInfo::skip_null_val, to_lower(), and toString().
Referenced by ResultSetReductionJIT::reduceOneAggregateSlot().
void anonymous_namespace{ResultSetReductionJIT.cpp}::emit_aggregate_one_value | ( | const std::string & | agg_kind, |
Value * | val_ptr, | ||
Value * | other_ptr, | ||
const size_t | chosen_bytes, | ||
const TargetInfo & | agg_info, | ||
Function * | ir_reduce_one_entry | ||
) |
Definition at line 83 of file ResultSetReductionJIT.cpp.
References Cast::BitCast, CHECK_EQ, DoublePtr, emit_load(), FloatPtr, get_compact_type(), Int32Ptr, and Int64Ptr.
Referenced by emit_aggregate_one_nullable_value().
const Value* anonymous_namespace{ResultSetReductionJIT.cpp}::emit_checked_write_projection | ( | Value * | slot_pi8, |
Value * | other_pi8, | ||
const int64_t | init_val, | ||
const size_t | chosen_bytes, | ||
Function * | ir_reduce_one_entry | ||
) |
Definition at line 239 of file ResultSetReductionJIT.cpp.
References Cast::BitCast, CHECK_EQ, emit_load_i32(), emit_load_i64(), Int32, Int32Ptr, Int64, and Int64Ptr.
Referenced by ResultSetReductionJIT::reduceOneSlot().
Value* anonymous_namespace{ResultSetReductionJIT.cpp}::emit_load | ( | Value * | ptr, |
Type | ptr_type, | ||
Function * | function | ||
) |
Definition at line 48 of file ResultSetReductionJIT.cpp.
References Cast::BitCast, and Value::label().
Referenced by emit_aggregate_one_count(), emit_aggregate_one_nullable_value(), emit_aggregate_one_value(), emit_load_i32(), and emit_load_i64().
Value* anonymous_namespace{ResultSetReductionJIT.cpp}::emit_load_i32 | ( | Value * | ptr, |
Function * | function | ||
) |
Definition at line 55 of file ResultSetReductionJIT.cpp.
References emit_load(), and Int32Ptr.
Referenced by emit_checked_write_projection(), emit_read_int_from_buff(), emit_write_projection(), and ResultSetReductionJIT::isEmpty().
Value* anonymous_namespace{ResultSetReductionJIT.cpp}::emit_load_i64 | ( | Value * | ptr, |
Function * | function | ||
) |
Definition at line 60 of file ResultSetReductionJIT.cpp.
References emit_load(), and Int64Ptr.
Referenced by emit_checked_write_projection(), emit_read_int_from_buff(), emit_write_projection(), ResultSetReductionJIT::isEmpty(), ResultSetReductionJIT::reduceOneApproxQuantileSlot(), ResultSetReductionJIT::reduceOneCountDistinctSlot(), and ResultSetReductionJIT::reduceOneModeSlot().
Value* anonymous_namespace{ResultSetReductionJIT.cpp}::emit_read_int_from_buff | ( | Value * | ptr, |
const int8_t | compact_sz, | ||
Function * | function | ||
) |
Definition at line 65 of file ResultSetReductionJIT.cpp.
References emit_load_i32(), emit_load_i64(), logger::FATAL, Int64, LOG, and Cast::SExt.
Referenced by ResultSetReductionJIT::isEmpty().
void anonymous_namespace{ResultSetReductionJIT.cpp}::emit_write_projection | ( | Value * | slot_pi8, |
Value * | other_pi8, | ||
const int64_t | init_val, | ||
const size_t | chosen_bytes, | ||
Function * | ir_reduce_one_entry | ||
) |
Definition at line 208 of file ResultSetReductionJIT.cpp.
References CHECK_EQ, emit_load_i32(), emit_load_i64(), Int64, and to_string().
Referenced by ResultSetReductionJIT::reduceOneSlot().
void anonymous_namespace{ResultSetReductionJIT.cpp}::generate_loop_body | ( | For * | for_loop, |
Function * | ir_reduce_loop, | ||
Function * | ir_reduce_one_entry_idx, | ||
Value * | this_buff, | ||
Value * | that_buff, | ||
Value * | start_index, | ||
Value * | that_entry_count, | ||
Value * | this_qmd_handle, | ||
Value * | that_qmd_handle, | ||
Value * | serialized_varlen_buffer | ||
) |
Definition at line 982 of file ResultSetReductionJIT.cpp.
References BinaryOperator::Add, For::add(), report::error_code(), g_enable_dynamic_watchdog, g_enable_non_kernel_time_query_interrupt, Int32, Int64, Int8, INTERRUPT_ERROR, For::iter(), ICmp::NE, Cast::SExt, and WATCHDOG_ERROR.
Referenced by ResultSetReductionJIT::reduceLoop().
bool anonymous_namespace{ResultSetReductionJIT.cpp}::is_aggregate_query | ( | const QueryDescriptionType | hash_type | ) |
Definition at line 388 of file ResultSetReductionJIT.cpp.
References heavyai::GroupByBaselineHash, heavyai::GroupByPerfectHash, and heavyai::NonGroupedAggregate.
Referenced by ResultSetReductionJIT::codegen(), and ResultSetReductionJIT::isEmpty().
ReductionCode anonymous_namespace{ResultSetReductionJIT.cpp}::setup_functions_ir | ( | const QueryDescriptionType | hash_type | ) |
Definition at line 379 of file ResultSetReductionJIT.cpp.
References ReductionCode::ir_is_empty, setup_is_empty_entry(), setup_reduce_loop(), setup_reduce_one_entry(), and setup_reduce_one_entry_idx().
Referenced by ResultSetReductionJIT::codegen(), and GpuReductionHelperJIT::codegen().
std::unique_ptr<Function> anonymous_namespace{ResultSetReductionJIT.cpp}::setup_is_empty_entry | ( | ReductionCode * | reduction_code | ) |
Definition at line 285 of file ResultSetReductionJIT.cpp.
References create_function(), Int1, and Int8Ptr.
Referenced by setup_functions_ir().
std::unique_ptr<Function> anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_loop | ( | ReductionCode * | reduction_code | ) |
Definition at line 337 of file ResultSetReductionJIT.cpp.
References create_function(), Int32, Int8Ptr, and VoidPtr.
Referenced by setup_functions_ir().
std::unique_ptr<Function> anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry | ( | ReductionCode * | reduction_code, |
const QueryDescriptionType | hash_type | ||
) |
Definition at line 291 of file ResultSetReductionJIT.cpp.
References create_function(), logger::FATAL, heavyai::GroupByBaselineHash, heavyai::GroupByPerfectHash, Int32, Int8Ptr, LOG, heavyai::NonGroupedAggregate, and VoidPtr.
Referenced by setup_functions_ir().
std::unique_ptr<Function> anonymous_namespace{ResultSetReductionJIT.cpp}::setup_reduce_one_entry_idx | ( | ReductionCode * | reduction_code | ) |
Definition at line 322 of file ResultSetReductionJIT.cpp.
References create_function(), Int32, Int8Ptr, and VoidPtr.
Referenced by setup_functions_ir().
std::string anonymous_namespace{ResultSetReductionJIT.cpp}::target_info_key | ( | const TargetInfo & | target_info | ) |
Definition at line 1295 of file ResultSetReductionJIT.cpp.
References TargetInfo::agg_arg_type, TargetInfo::agg_kind, SQLTypeInfo::get_notnull(), SQLTypeInfo::get_type_name(), TargetInfo::is_agg, TargetInfo::is_distinct, TargetInfo::skip_null_val, TargetInfo::sql_type, and to_string().
Referenced by ResultSetReductionJIT::cacheKey().
void anonymous_namespace{ResultSetReductionJIT.cpp}::varlen_buffer_sample | ( | int8_t * | this_ptr1, |
int8_t * | this_ptr2, | ||
const int8_t * | that_ptr1, | ||
const int8_t * | that_ptr2, | ||
const int64_t | init_val | ||
) |
Definition at line 395 of file ResultSetReductionJIT.cpp.
References CHECK.
Referenced by serialized_varlen_buffer_sample().
const size_t anonymous_namespace{ResultSetReductionJIT.cpp}::INTERP_THRESHOLD {25} |
Definition at line 45 of file ResultSetReductionJIT.cpp.
Referenced by ResultSetReductionJIT::codegen().
const int32_t anonymous_namespace{ResultSetReductionJIT.cpp}::INTERRUPT_ERROR {10} |
Definition at line 43 of file ResultSetReductionJIT.cpp.
Referenced by generate_loop_body().
const int32_t anonymous_namespace{ResultSetReductionJIT.cpp}::WATCHDOG_ERROR |
Definition at line 41 of file ResultSetReductionJIT.cpp.
Referenced by generate_loop_body().