OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CodeGenerator Member List

This is the complete list of members for CodeGenerator, including all inherited members.

alwaysCloneRuntimeFunction(const llvm::Function *func)CodeGeneratorstatic
beginArgsNullcheck(const Analyzer::FunctionOper *function_oper, const std::vector< llvm::Value * > &orig_arg_lvs)CodeGeneratorprivate
castArrayPointer(llvm::Value *ptr, const SQLTypeInfo &elem_ti)CodeGenerator
cgen_state_CodeGeneratorprotected
checkExpressionRanges(const Analyzer::UOper *, int64_t, int64_t)CodeGeneratorprivate
checkExpressionRanges(const Analyzer::BinOper *, int64_t, int64_t)CodeGeneratorprivate
codegen(const Analyzer::Expr *, const bool fetch_columns, const CompilationOptions &)CodeGenerator
codegen(const Analyzer::Constant *, const EncodingType enc_type, const shared::StringDictKey &dict_id, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::InValues *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::InIntegerSet *expr, const CompilationOptions &co)CodeGeneratorprivate
codegen(const Analyzer::CaseExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::ExtractExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::DateaddExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::DatediffExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::DatetruncExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::CharLengthExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::KeyForStringExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::SampleRatioExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::WidthBucketExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::MLPredictExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::PCAProjectExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::StringOper *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::LikeExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::RegexpExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::CardinalityExpr *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegen(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenAdd(const Analyzer::BinOper *, llvm::Value *, llvm::Value *, const std::string &null_typename, const std::string &null_check_suffix, const SQLTypeInfo &, const CompilationOptions &)CodeGeneratorprivate
codegenArith(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenArrayAt(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenArrayBuff(llvm::Value *chunk, llvm::Value *row_pos, SQLTypes array_type, bool cast_and_extend)CodeGeneratorprivate
codegenArrayExpr(const Analyzer::ArrayExpr *, const CompilationOptions &)CodeGeneratorprivate
codegenBinOpWithOverflowForCPU(const Analyzer::BinOper *bin_oper, llvm::Value *lhs_lv, llvm::Value *rhs_lv, const std::string &null_check_suffix, const SQLTypeInfo &ti)CodeGeneratorprivate
codegenBoundingBoxIntersect(const SQLOps, const SQLQualifier, const std::shared_ptr< Analyzer::Expr >, const std::shared_ptr< Analyzer::Expr >, const CompilationOptions &)CodeGeneratorprivate
codegenBufferArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *buffer_buf, llvm::Value *buffer_size, llvm::Value *buffer_is_null, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenCase(const Analyzer::CaseExpr *, llvm::Type *case_llvm_type, const bool is_real_str, const CompilationOptions &)CodeGeneratorprivate
codegenCast(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenCast(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti, const bool operand_is_const, const CompilationOptions &co)CodeGeneratorprivate
codegenCastBetweenIntTypes(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti, bool upscale=true)CodeGenerator
codegenCastBetweenIntTypesOverflowChecks(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti, const int64_t scale)CodeGenerator
codegenCastBetweenTimestamps(llvm::Value *ts_lv, const SQLTypeInfo &operand_dimen, const SQLTypeInfo &target_dimen, const bool nullable)CodeGenerator
codegenCastFromFp(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti)CodeGeneratorprivate
codegenCastFromString(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti, const bool operand_is_const, const CompilationOptions &co)CodeGeneratorprivate
codegenCastNonStringToString(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti, const bool operand_is_const, const CompilationOptions &co)CodeGeneratorprivate
codegenCastTimestampToDate(llvm::Value *ts_lv, const int dimen, const bool nullable)CodeGeneratorprivate
codegenCastTimestampToTime(llvm::Value *ts_lv, const int dimen, const bool nullable)CodeGeneratorprivate
codegenCastToFp(llvm::Value *operand_lv, const SQLTypeInfo &operand_ti, const SQLTypeInfo &ti)CodeGeneratorprivate
codegenCmp(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenCmp(const SQLOps, const SQLQualifier, std::vector< llvm::Value * >, const SQLTypeInfo &, const Analyzer::Expr *, const CompilationOptions &)CodeGeneratorprivate
codegenCmpDecimalConst(const SQLOps, const SQLQualifier, const Analyzer::Expr *, const SQLTypeInfo &, const Analyzer::Expr *, const CompilationOptions &)CodeGeneratorprivate
codegenColumn(const Analyzer::ColumnVar *, const bool fetch_column, const CompilationOptions &)CodeGeneratorprivatevirtual
codegenColVar(const Analyzer::ColumnVar *, const bool fetch_column, const bool update_query_plan, const CompilationOptions &)CodeGeneratorprivate
codegenCompression(const SQLTypeInfo &type_info)CodeGeneratorprivate
codegenConstantWidthBucketExpr(const Analyzer::WidthBucketExpr *, const CompilationOptions &)CodeGeneratorprivate
codegenDateTruncHighPrecisionTimestamps(llvm::Value *, const SQLTypeInfo &, const DatetruncField &)CodeGeneratorprivate
codegenDeciDiv(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenDictLike(const std::shared_ptr< Analyzer::Expr > arg, const Analyzer::Constant *pattern, const bool ilike, const bool is_simple, const char escape_char, const CompilationOptions &)CodeGeneratorprivate
codegenDictRegexp(const std::shared_ptr< Analyzer::Expr > arg, const Analyzer::Constant *pattern, const char escape_char, const CompilationOptions &)CodeGeneratorprivate
codegenDictStrCmp(const std::shared_ptr< Analyzer::Expr >, const std::shared_ptr< Analyzer::Expr >, const SQLOps, const CompilationOptions &co)CodeGeneratorprivate
codegenDiv(llvm::Value *, llvm::Value *, const std::string &null_typename, const std::string &null_check_suffix, const SQLTypeInfo &, bool upscale=true)CodeGeneratorprivate
CodeGenerator(Executor *executor)CodeGeneratorinline
CodeGenerator(CgenState *cgen_state, PlanState *plan_state)CodeGeneratorinline
codegenExtractHighPrecisionTimestamps(llvm::Value *, const SQLTypeInfo &, const ExtractField &)CodeGeneratorprivate
codegenFixedLengthColVar(const Analyzer::ColumnVar *col_var, llvm::Value *col_byte_stream, llvm::Value *pos_arg, const WindowFunctionContext *window_function_context=nullptr)CodeGeneratorprivate
codegenFixedLengthColVarInWindow(const Analyzer::ColumnVar *col_var, llvm::Value *col_byte_stream, llvm::Value *pos_arg, const CompilationOptions &co, const WindowFunctionContext *window_function_context=nullptr)CodeGeneratorprivate
codegenFpArith(const Analyzer::BinOper *, llvm::Value *, llvm::Value *)CodeGeneratorprivate
codegenFunctionOper(const Analyzer::FunctionOper *, const CompilationOptions &)CodeGeneratorprivate
codegenFunctionOperCastArgs(const Analyzer::FunctionOper *, const ExtensionFunction *, const std::vector< llvm::Value * > &, const std::vector< size_t > &, const std::unordered_map< llvm::Value *, llvm::Value * > &, const CompilationOptions &)CodeGeneratorprivate
codegenFunctionOperNullArg(const Analyzer::FunctionOper *, const std::vector< llvm::Value * > &)CodeGeneratorprivate
codegenFunctionOperWithCustomTypeHandling(const Analyzer::FunctionOperWithCustomTypeHandling *, const CompilationOptions &)CodeGeneratorprivate
codegenGeoArgs(const std::vector< std::shared_ptr< Analyzer::Expr >> &, const CompilationOptions &)CodeGeneratorprivate
codegenGeoArrayLoadAndNullcheck(llvm::Value *byte_stream, llvm::Value *pos, const SQLTypeInfo &ti, CgenState *cgen_state)CodeGeneratorstatic
codegenGeoBinOper(const Analyzer::GeoBinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenGeoColumnVar(const Analyzer::GeoColumnVar *, const bool fetch_columns, const CompilationOptions &co)CodeGeneratorprivate
codegenGeoConstant(const Analyzer::GeoConstant *, const CompilationOptions &)CodeGeneratorprivate
codegenGeoExpr(const Analyzer::GeoExpr *, const CompilationOptions &)CodeGeneratorprivate
codegenGeoLineStringArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *line_string_buf, llvm::Value *line_string_size, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeoMultiLineStringArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *multi_linestring_coords, llvm::Value *multi_linestring_size, llvm::Value *linestring_sizes, llvm::Value *linestring_sizes_size, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeoMultiPointArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *multi_point_buf, llvm::Value *multi_point_size, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeoMultiPolygonArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *polygon_coords, llvm::Value *polygon_coords_size, llvm::Value *ring_sizes_buf, llvm::Value *ring_sizes, llvm::Value *polygon_bounds, llvm::Value *polygon_bounds_sizes, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeoOperator(const Analyzer::GeoOperator *, const CompilationOptions &)CodeGeneratorprivate
codegenGeoPointArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *point_buf, llvm::Value *point_size, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeoPolygonArgs(const std::string &udf_func_name, size_t param_num, llvm::Value *polygon_buf, llvm::Value *polygon_size, llvm::Value *ring_sizes_buf, llvm::Value *num_rings, llvm::Value *compression, llvm::Value *input_srid, llvm::Value *output_srid, std::vector< llvm::Value * > &output_args)CodeGeneratorprivate
codegenGeosConstructorCall(const std::string &, std::vector< llvm::Value * >, llvm::Value *, const CompilationOptions &)CodeGeneratorprivate
codegenGeosPredicateCall(const std::string &, std::vector< llvm::Value * >, const CompilationOptions &)CodeGeneratorprivate
codegenGeoUOper(const Analyzer::GeoUOper *, const CompilationOptions &)CodeGeneratorprivate
codegenHoistedConstants(const std::vector< const Analyzer::Constant * > &constants, const EncodingType enc_type, const shared::StringDictKey &dict_id)CodeGenerator
codegenHoistedConstantsLoads(const SQLTypeInfo &type_info, const EncodingType enc_type, const shared::StringDictKey &dict_id, const int16_t lit_off, const size_t lit_bytes)CodeGeneratorprivate
codegenHoistedConstantsPlaceholders(const SQLTypeInfo &type_info, const EncodingType enc_type, const int16_t lit_off, const std::vector< llvm::Value * > &literal_loads)CodeGeneratorprivate
codegenIntArith(const Analyzer::BinOper *, llvm::Value *, llvm::Value *, const CompilationOptions &)CodeGeneratorprivate
codegenIntConst(const Analyzer::Constant *constant, CgenState *cgen_state)CodeGeneratorstatic
codegenIsNull(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenIsNullNumber(llvm::Value *, const SQLTypeInfo &)CodeGeneratorprivate
codegenLinRegPredict(const Analyzer::MLPredictExpr *, const std::string &model_name, const std::shared_ptr< AbstractMLModel > &model, const CompilationOptions &)CodeGeneratorprivate
codegenLogical(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenLogical(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenLogicalShortCircuit(const Analyzer::BinOper *, const CompilationOptions &)CodeGeneratorprivate
codegenMod(llvm::Value *, llvm::Value *, const std::string &null_typename, const std::string &null_check_suffix, const SQLTypeInfo &)CodeGeneratorprivate
codegenMul(const Analyzer::BinOper *, llvm::Value *, llvm::Value *, const std::string &null_typename, const std::string &null_check_suffix, const SQLTypeInfo &, const CompilationOptions &, bool downscale=true)CodeGeneratorprivate
codegenOuterJoinNullPlaceholder(const Analyzer::ColumnVar *col_var, const bool fetch_column, const CompilationOptions &co)CodeGeneratorprivate
codegenPerRowStringOper(const Analyzer::StringOper *string_oper, const CompilationOptions &co)CodeGenerator
codegenPseudoStringOper(const Analyzer::ColumnVar *, const std::vector< StringOps_Namespace::StringOpInfo > &string_op_infos, const CompilationOptions &)CodeGenerator
codegenQualifierCmp(const SQLOps, const SQLQualifier, std::vector< llvm::Value * >, const Analyzer::Expr *, const CompilationOptions &)CodeGeneratorprivate
codegenRowId(const Analyzer::ColumnVar *col_var, const CompilationOptions &co)CodeGeneratorprivate
codegenSkipOverflowCheckForNull(llvm::Value *lhs_lv, llvm::Value *rhs_lv, llvm::BasicBlock *no_overflow_bb, const SQLTypeInfo &ti)CodeGeneratorprivate
codegenStrCmp(const SQLOps, const SQLQualifier, const std::shared_ptr< Analyzer::Expr >, const std::shared_ptr< Analyzer::Expr >, const CompilationOptions &)CodeGeneratorprivate
codegenStringFetchAndEncode(const Analyzer::StringOper *expr, const CompilationOptions &co, const size_t arg_idx, const bool codegen_nullcheck)CodeGeneratorprivate
codegenSub(const Analyzer::BinOper *, llvm::Value *, llvm::Value *, const std::string &null_typename, const std::string &null_check_suffix, const SQLTypeInfo &, const CompilationOptions &)CodeGeneratorprivate
codegenTreeRegPredict(const Analyzer::MLPredictExpr *, const std::string &model_name, const std::shared_ptr< AbstractMLModel > &model, const CompilationOptions &)CodeGeneratorprivate
codegenUMinus(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenUnnest(const Analyzer::UOper *, const CompilationOptions &)CodeGeneratorprivate
codegenVariableLengthStringColVar(llvm::Value *col_byte_stream, llvm::Value *pos_arg)CodeGeneratorprivate
codegenWidthBucketExpr(const Analyzer::WidthBucketExpr *, const CompilationOptions &)CodeGeneratorprivate
codegenWindowPosition(const WindowFunctionContext *window_func_context, llvm::Value *pos_arg)CodeGenerator
codgenAdjustFixedEncNull(llvm::Value *, const SQLTypeInfo &)CodeGeneratorprivate
colByteStream(const Analyzer::ColumnVar *col_var, const bool fetch_column, const bool hoist_literals)CodeGeneratorprivate
createInValuesBitmap(const Analyzer::InValues *, const CompilationOptions &)CodeGeneratorprivate
createLineStringStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createMultiLineStringStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createMultiPointStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createMultiPolygonStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createPointStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createPolygonStructType(const std::string &udf_func_name, size_t param_num)CodeGeneratorprivate
createStringViewStructType()CodeGeneratorprivate
endArgsNullcheck(const ArgNullcheckBBs &, llvm::Value *, llvm::Value *, const Analyzer::FunctionOper *)CodeGeneratorprivate
executor() const CodeGeneratorinlineprotected
executor_CodeGeneratorprivate
foundOuterJoinMatch(const size_t nesting_level) const CodeGeneratorprivate
generateNativeCPUCode(llvm::Function *func, const std::unordered_set< llvm::Function * > &live_funcs, const CompilationOptions &co)CodeGeneratorstatic
generateNativeGPUCode(Executor *executor, llvm::Function *func, llvm::Function *wrapper_func, const std::unordered_set< llvm::Function * > &live_funcs, const bool is_gpu_smem_used, const CompilationOptions &co, const GPUTarget &gpu_target)CodeGeneratorstatic
generatePTX(const std::string &cuda_llir, llvm::TargetMachine *nvptx_target_machine, llvm::LLVMContext &context)CodeGeneratorstatic
getArithWithOverflowIntrinsic(const Analyzer::BinOper *bin_oper, llvm::Type *type)CodeGeneratorprivate
GroupByAndAggregate classCodeGeneratorfriend
hashJoinLhs(const Analyzer::ColumnVar *rhs) const CodeGeneratorprivate
hashJoinLhsTuple(const Analyzer::ColumnVar *rhs, const Analyzer::BinOper *tautological_eq) const CodeGeneratorprivate
initialize_cpu_backend_mutex_CodeGeneratorprivatestatic
initialize_nvptx_mutex_CodeGeneratorprivatestatic
initializeNVPTXBackend(const CudaMgr_Namespace::NvidiaDeviceArch arch)CodeGeneratorstatic
link_udf_module(const std::unique_ptr< llvm::Module > &udf_module, llvm::Module &module, CgenState *cgen_state, llvm::Linker::Flags flags=llvm::Linker::Flags::None)CodeGeneratorstatic
linkModuleWithLibdevice(Executor *executor, llvm::Module &module, llvm::PassManagerBuilder &pass_manager_builder, const GPUTarget &gpu_target)CodeGeneratorstatic
markDeadRuntimeFuncs(llvm::Module &module, const std::vector< llvm::Function * > &roots, const std::vector< llvm::Function * > &leaves)CodeGeneratorstatic
needCastForHashJoinLhs(const Analyzer::ColumnVar *rhs) const CodeGeneratorprivate
plan_state_CodeGeneratorprotected
posArg(const Analyzer::Expr *) const CodeGenerator
prioritizeQuals(const RelAlgExecutionUnit &ra_exe_unit, std::vector< Analyzer::Expr * > &primary_quals, std::vector< Analyzer::Expr * > &deferred_quals, const PlanState::HoistedFiltersSet &hoisted_quals)CodeGeneratorstatic
resolveGroupedColumnReference(const Analyzer::ColumnVar *)CodeGeneratorprivate
toBool(llvm::Value *)CodeGenerator