OmniSciDB
0264ff685a
|
#include <CgenState.h>
Classes | |
struct | FunctionOperValue |
struct | HoistedLiteralLoadLocator |
Public Types | |
using | LiteralValue = boost::variant< int8_t, int16_t, int32_t, int64_t, float, double, std::pair< std::string, int >, std::string, std::vector< double >, std::vector< int32_t >, std::vector< int8_t >, std::pair< std::vector< int8_t >, int > > |
using | LiteralValues = std::vector< LiteralValue > |
Public Member Functions | |
CgenState (const size_t num_query_infos, const bool contains_left_deep_outer_join) | |
CgenState (llvm::LLVMContext &context) | |
size_t | getOrAddLiteral (const Analyzer::Constant *constant, const EncodingType enc_type, const int dict_id, const int device_id) |
const std::unordered_map< int, LiteralValues > & | getLiterals () const |
llvm::Value * | addStringConstant (const std::string &str) |
const InValuesBitmap * | addInValuesBitmap (std::unique_ptr< InValuesBitmap > &in_values_bitmap) |
llvm::Value * | emitExternalCall (const std::string &fname, llvm::Type *ret_type, const std::vector< llvm::Value *> args, const std::vector< llvm::Attribute::AttrKind > &fnattrs={}, const bool has_struct_return=false) |
llvm::Value * | emitCall (const std::string &fname, const std::vector< llvm::Value *> &args) |
size_t | getLiteralBufferUsage (const int device_id) |
llvm::Value * | castToTypeIn (llvm::Value *val, const size_t bit_width) |
std::pair< llvm::ConstantInt *, llvm::ConstantInt * > | inlineIntMaxMin (const size_t byte_width, const bool is_signed) |
llvm::ConstantInt * | inlineIntNull (const SQLTypeInfo &) |
llvm::ConstantFP * | inlineFpNull (const SQLTypeInfo &) |
template<class T > | |
llvm::ConstantInt * | llInt (const T v) const |
llvm::ConstantFP * | llFp (const float v) const |
llvm::ConstantFP * | llFp (const double v) const |
llvm::ConstantInt * | llBool (const bool v) const |
void | emitErrorCheck (llvm::Value *condition, llvm::Value *errorCode, std::string label) |
llvm::Value * | nullValueAsDouble (SQLTypeInfo const &) |
Static Public Member Functions | |
static size_t | literalBytes (const CgenState::LiteralValue &lit) |
static size_t | addAligned (const size_t off_in, const size_t alignment) |
Public Attributes | |
llvm::Module * | module_ |
llvm::Function * | row_func_ |
llvm::Function * | filter_func_ |
llvm::Function * | current_func_ |
llvm::BasicBlock * | row_func_bb_ |
llvm::BasicBlock * | filter_func_bb_ |
llvm::CallInst * | row_func_call_ |
llvm::CallInst * | filter_func_call_ |
std::vector< llvm::Function * > | helper_functions_ |
llvm::LLVMContext & | context_ |
llvm::ValueToValueMapTy | vmap_ |
llvm::IRBuilder | ir_builder_ |
std::unordered_map< int, std::vector< llvm::Value * > > | fetch_cache_ |
std::vector< FunctionOperValue > | ext_call_cache_ |
std::vector< llvm::Value * > | group_by_expr_cache_ |
std::vector< llvm::Value * > | str_constants_ |
std::vector< llvm::Value * > | frag_offsets_ |
const bool | contains_left_deep_outer_join_ |
std::vector< llvm::Value * > | outer_join_match_found_per_level_ |
std::unordered_map< int, llvm::Value * > | scan_idx_to_hash_pos_ |
InsertionOrderedMap | filter_func_args_ |
std::vector< std::unique_ptr< const InValuesBitmap > > | in_values_bitmaps_ |
bool | needs_error_check_ |
bool | needs_geos_ |
llvm::Function * | query_func_ |
llvm::IRBuilder | query_func_entry_ir_builder_ |
std::unordered_map< int, std::vector< llvm::Value * > > | query_func_literal_loads_ |
std::unordered_map< llvm::Value *, HoistedLiteralLoadLocator > | row_func_hoisted_literals_ |
Private Member Functions | |
template<class T > | |
size_t | getOrAddLiteral (const T &val, const int device_id) |
Private Attributes | |
std::unordered_map< int, LiteralValues > | literals_ |
std::unordered_map< int, size_t > | literal_bytes_ |
Definition at line 31 of file CgenState.h.
using CgenState::LiteralValue = boost::variant<int8_t, int16_t, int32_t, int64_t, float, double, std::pair<std::string, int>, std::string, std::vector<double>, std::vector<int32_t>, std::vector<int8_t>, std::pair<std::vector<int8_t>, int> > |
Definition at line 198 of file CgenState.h.
using CgenState::LiteralValues = std::vector<LiteralValue> |
Definition at line 199 of file CgenState.h.
|
inline |
Definition at line 33 of file CgenState.h.
|
inline |
Definition at line 51 of file CgenState.h.
|
inlinestatic |
Definition at line 392 of file CgenState.h.
Referenced by getOrAddLiteral(), and Executor::serializeLiterals().
|
inline |
Definition at line 212 of file CgenState.h.
References in_values_bitmaps_.
Referenced by CodeGenerator::codegen().
|
inline |
Definition at line 203 of file CgenState.h.
References context_, get_int_type(), ir_builder_, str_constants_, and to_string().
Referenced by CodeGenerator::codegen().
llvm::Value * CgenState::castToTypeIn | ( | llvm::Value * | val, |
const size_t | bit_width | ||
) |
Definition at line 106 of file CgenState.cpp.
References CHECK, context_, get_int_type(), and ir_builder_.
Referenced by CodeGenerator::codegenCast(), CodeGenerator::codegenCmp(), CodeGenerator::codegenLogical(), CodeGenerator::codegenLogicalShortCircuit(), getLiteralBufferUsage(), Executor::groupByColumnCodegen(), and nullValueAsDouble().
llvm::Value * CgenState::emitCall | ( | const std::string & | fname, |
const std::vector< llvm::Value *> & | args | ||
) |
Definition at line 137 of file CgenState.cpp.
References CHECK, g_rt_module, ir_builder_, module_, and vmap_.
Referenced by CodeGenerator::codegen(), CodeGenerator::codegenAdd(), CodeGenerator::codegenCase(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastBetweenTimestamps(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFpArith(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenLogical(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), emitExternalCall(), and Executor::groupByColumnCodegen().
void CgenState::emitErrorCheck | ( | llvm::Value * | condition, |
llvm::Value * | errorCode, | ||
std::string | label | ||
) |
Definition at line 161 of file CgenState.cpp.
References context_, current_func_, ir_builder_, and needs_error_check_.
Referenced by llBool().
|
inline |
Definition at line 222 of file CgenState.h.
References CHECK, CHECK_EQ, context_, emitCall(), ir_builder_, module_, and run_benchmark_import::result.
Referenced by CodeGenerator::codegen(), CodeGenerator::codegenArrayAt(), CodeGenerator::codegenArrayBuff(), CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCastTimestampToDate(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenFunctionOperNullArg(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenGeoArgs(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), CodeGenerator::codegenIsNull(), CodeGenerator::codegenQualifierCmp(), and Executor::groupByColumnCodegen().
|
inline |
Definition at line 287 of file CgenState.h.
References castToTypeIn(), inlineFpNull(), inlineIntMaxMin(), inlineIntNull(), and literal_bytes_.
|
inline |
|
inline |
Definition at line 62 of file CgenState.h.
References Datum::bigintval, Datum::boolval, CHECK, CHECK_EQ, decimal_to_int_type(), Datum::doubleval, Datum::floatval, Analyzer::Constant::get_constval(), Analyzer::Constant::get_is_null(), Analyzer::Expr::get_type_info(), Analyzer::Constant::get_value_list(), inline_fp_null_val(), inline_int_null_val(), Datum::intval, kARRAY, kBIGINT, kBOOLEAN, kCHAR, kDATE, kDOUBLE, kENCODING_DICT, kENCODING_GEOINT, kENCODING_NONE, kFLOAT, kINT, kINTERVAL_DAY_TIME, kINTERVAL_YEAR_MONTH, kSMALLINT, kTEXT, kTIME, kTIMESTAMP, kTINYINT, kVARCHAR, Datum::smallintval, Datum::stringval, Datum::tinyintval, and run_benchmark_import::type.
Referenced by CodeGenerator::codegenHoistedConstants().
|
inlineprivate |
Definition at line 402 of file CgenState.h.
References addAligned(), literal_bytes_, literalBytes(), and literals_.
llvm::ConstantFP * CgenState::inlineFpNull | ( | const SQLTypeInfo & | type_info | ) |
Definition at line 65 of file CgenState.cpp.
References CHECK, SQLTypeInfo::get_type(), SQLTypeInfo::is_fp(), kDOUBLE, kFLOAT, llFp(), NULL_DOUBLE, and NULL_FLOAT.
Referenced by CodeGenerator::codegenArrayAt(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenUMinus(), CodeGenerator::endArgsNullcheck(), getLiteralBufferUsage(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), and nullValueAsDouble().
std::pair< llvm::ConstantInt *, llvm::ConstantInt * > CgenState::inlineIntMaxMin | ( | const size_t | byte_width, |
const bool | is_signed | ||
) |
Definition at line 77 of file CgenState.cpp.
References CHECK_EQ, context_, inline_int_max_min(), inline_uint_max_min(), and ll_int().
Referenced by CodeGenerator::codegenAdd(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenDiv(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), and getLiteralBufferUsage().
llvm::ConstantInt * CgenState::inlineIntNull | ( | const SQLTypeInfo & | type_info | ) |
Definition at line 27 of file CgenState.cpp.
References CHECK, SQLTypeInfo::get_compression(), SQLTypeInfo::get_type(), inline_int_null_val(), SQLTypeInfo::is_string(), kARRAY, kBIGINT, kBOOLEAN, kDATE, kDECIMAL, kENCODING_DICT, kENCODING_NONE, kINT, kINTERVAL_DAY_TIME, kINTERVAL_YEAR_MONTH, kNUMERIC, kSMALLINT, kTIME, kTIMESTAMP, kTINYINT, llInt(), and run_benchmark_import::type.
Referenced by CodeGenerator::codegen(), CodeGenerator::codegenArrayAt(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastBetweenTimestamps(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenIntConst(), CodeGenerator::codegenIsNullNumber(), CodeGenerator::codegenLogical(), CodeGenerator::codegenLogicalShortCircuit(), CodeGenerator::codegenUMinus(), CodeGenerator::endArgsNullcheck(), getLiteralBufferUsage(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), and nullValueAsDouble().
|
inlinestatic |
Definition at line 361 of file CgenState.h.
Referenced by CodeGenerator::codegenHoistedConstantsLoads(), getOrAddLiteral(), and Executor::serializeLiterals().
|
inline |
Definition at line 314 of file CgenState.h.
References context_, emitErrorCheck(), run_benchmark_import::label, ll_bool(), and nullValueAsDouble().
Referenced by Executor::buildIsDeletedCb(), Executor::buildJoinLoops(), CodeGenerator::codegenGeosConstructorCall(), and CodeGenerator::codegenGeosPredicateCall().
|
inline |
Definition at line 304 of file CgenState.h.
References context_.
Referenced by CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFpArith(), CodeGenerator::codegenIsNullNumber(), and inlineFpNull().
|
inline |
|
inline |
Definition at line 300 of file CgenState.h.
References context_, and ll_int().
Referenced by Executor::buildIsDeletedCb(), Executor::buildJoinLoops(), CodeGenerator::codegen(), CodeGenerator::codegenAdd(), CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenBinOpWithOverflowForCPU(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastBetweenTimestamps(), CodeGenerator::codegenCmp(), CodeGenerator::codegenCompression(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenGeoArgs(), CodeGenerator::codegenGeoBinOper(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), CodeGenerator::codegenGeoUOper(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenHoistedConstantsPlaceholders(), CodeGenerator::codegenIntConst(), Executor::codegenJoinLoops(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), Executor::groupByColumnCodegen(), and inlineIntNull().
llvm::Value * CgenState::nullValueAsDouble | ( | SQLTypeInfo const & | ti | ) |
Definition at line 173 of file CgenState.cpp.
References castToTypeIn(), context_, SQLTypeInfo::get_size(), inlineFpNull(), inlineIntNull(), ir_builder_, and SQLTypeInfo::is_fp().
Referenced by llBool().
const bool CgenState::contains_left_deep_outer_join_ |
Definition at line 343 of file CgenState.h.
llvm::LLVMContext& CgenState::context_ |
Definition at line 331 of file CgenState.h.
Referenced by addStringConstant(), CodeGenerator::beginArgsNullcheck(), Executor::buildIsDeletedCb(), CodeGenerator::castArrayPointer(), castToTypeIn(), CodeGenerator::codegen(), CodeGenerator::codegenAdd(), CodeGenerator::codegenArrayAt(), CodeGenerator::codegenArrayBuff(), CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenBinOpWithOverflowForCPU(), CodeGenerator::codegenBufferArgs(), CodeGenerator::codegenCase(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCastTimestampToDate(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenFunctionOperNullArg(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenGeoArgs(), CodeGenerator::codegenGeoBinOper(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), CodeGenerator::codegenGeoUOper(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenIsNull(), Executor::codegenJoinLoops(), CodeGenerator::codegenLogicalShortCircuit(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenQualifierCmp(), CodeGenerator::codegenSkipOverflowCheckForNull(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), anonymous_namespace{ResultSetReductionCodegen.cpp}::create_entry_block(), anonymous_namespace{ResultSetReductionJIT.cpp}::create_llvm_function(), anonymous_namespace{ResultSetReductionInterpreterStubs.cpp}::create_stub_function(), CodeGenerator::createLineStringStructType(), CodeGenerator::createMultiPolygonStructType(), CodeGenerator::createPointStructType(), CodeGenerator::createPolygonStructType(), emitErrorCheck(), emitExternalCall(), CodeGenerator::endArgsNullcheck(), anonymous_namespace{TableFunctionCompilationContext.cpp}::generate_entry_point(), CodeGenerator::generateNativeGPUCode(), anonymous_namespace{ExtensionsIR.cpp}::get_buffer_struct_type(), Executor::groupByColumnCodegen(), inlineIntMaxMin(), llBool(), llFp(), llInt(), AutomaticIRMetadataGuard::markInstructions(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), nullValueAsDouble(), and Executor::redeclareFilterFunction().
llvm::Function* CgenState::current_func_ |
Definition at line 325 of file CgenState.h.
Referenced by CodeGenerator::beginArgsNullcheck(), Executor::buildIsDeletedCb(), CodeGenerator::codegenAdd(), CodeGenerator::codegenBinOpWithOverflowForCPU(), CodeGenerator::codegenCase(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenDiv(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), Executor::codegenJoinLoops(), CodeGenerator::codegenLogicalShortCircuit(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSkipOverflowCheckForNull(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), emitErrorCheck(), Executor::groupByColumnCodegen(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), and Executor::redeclareFilterFunction().
std::vector<FunctionOperValue> CgenState::ext_call_cache_ |
Definition at line 339 of file CgenState.h.
Referenced by CodeGenerator::codegenFunctionOper().
std::unordered_map<int, std::vector<llvm::Value*> > CgenState::fetch_cache_ |
Definition at line 334 of file CgenState.h.
llvm::Function* CgenState::filter_func_ |
Definition at line 324 of file CgenState.h.
Referenced by CodeGenerator::generateNativeGPUCode(), Executor::redeclareFilterFunction(), and anonymous_namespace{NativeCodegen.cpp}::serialize_llvm_metadata_footnotes().
InsertionOrderedMap CgenState::filter_func_args_ |
Definition at line 346 of file CgenState.h.
Referenced by Executor::redeclareFilterFunction().
llvm::BasicBlock* CgenState::filter_func_bb_ |
Definition at line 327 of file CgenState.h.
llvm::CallInst* CgenState::filter_func_call_ |
Definition at line 329 of file CgenState.h.
std::vector<llvm::Value*> CgenState::frag_offsets_ |
Definition at line 342 of file CgenState.h.
std::vector<llvm::Value*> CgenState::group_by_expr_cache_ |
Definition at line 340 of file CgenState.h.
Referenced by Executor::groupByColumnCodegen().
std::vector<llvm::Function*> CgenState::helper_functions_ |
Definition at line 330 of file CgenState.h.
Referenced by CodeGenerator::generateNativeGPUCode().
std::vector<std::unique_ptr<const InValuesBitmap> > CgenState::in_values_bitmaps_ |
Definition at line 347 of file CgenState.h.
Referenced by addInValuesBitmap().
llvm::IRBuilder CgenState::ir_builder_ |
Definition at line 333 of file CgenState.h.
Referenced by addStringConstant(), CodeGenerator::beginArgsNullcheck(), Executor::buildIsDeletedCb(), Executor::buildJoinLoops(), CodeGenerator::castArrayPointer(), castToTypeIn(), JoinLoop::codegen(), CodeGenerator::codegen(), CodeGenerator::codegenAdd(), CodeGenerator::codegenArrayAt(), CodeGenerator::codegenArrayBuff(), CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenBinOpWithOverflowForCPU(), CodeGenerator::codegenBufferArgs(), CodeGenerator::codegenCase(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastBetweenTimestamps(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastToFp(), CodeGenerator::codegenCmp(), CodeGenerator::codegenDiv(), CodeGenerator::codegenFpArith(), CodeGenerator::codegenFunctionOper(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenFunctionOperNullArg(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenGeoArgs(), CodeGenerator::codegenGeoLineStringArgs(), CodeGenerator::codegenGeoMultiPolygonArgs(), CodeGenerator::codegenGeoPointArgs(), CodeGenerator::codegenGeoPolygonArgs(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), CodeGenerator::codegenHoistedConstantsPlaceholders(), CodeGenerator::codegenIsNullNumber(), Executor::codegenJoinLoops(), CodeGenerator::codegenLogical(), CodeGenerator::codegenLogicalShortCircuit(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSkipOverflowCheckForNull(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), anonymous_namespace{ResultSetReductionCodegen.cpp}::create_entry_block(), anonymous_namespace{ResultSetReductionInterpreterStubs.cpp}::create_stub_function(), emitCall(), emitErrorCheck(), emitExternalCall(), CodeGenerator::endArgsNullcheck(), JoinLoop::evaluateOuterJoinCondition(), CodeGenerator::NullCheckCodegen::finalize(), Executor::groupByColumnCodegen(), CodeGenerator::NullCheckCodegen::NullCheckCodegen(), nullValueAsDouble(), and CodeGenerator::toBool().
|
private |
Definition at line 420 of file CgenState.h.
Referenced by getLiteralBufferUsage(), and getOrAddLiteral().
|
private |
Definition at line 419 of file CgenState.h.
Referenced by getLiterals(), and getOrAddLiteral().
llvm::Module* CgenState::module_ |
Definition at line 322 of file CgenState.h.
Referenced by AutomaticIRMetadataGuard::AutomaticIRMetadataGuard(), anonymous_namespace{ResultSetReductionJIT.cpp}::create_llvm_function(), anonymous_namespace{ResultSetReductionInterpreterStubs.cpp}::create_stub_function(), CodeGenerator::createLineStringStructType(), CodeGenerator::createMultiPolygonStructType(), CodeGenerator::createPointStructType(), CodeGenerator::createPolygonStructType(), emitCall(), emitExternalCall(), anonymous_namespace{TableFunctionCompilationContext.cpp}::generate_entry_point(), CodeGenerator::generateNativeGPUCode(), anonymous_namespace{ExtensionsIR.cpp}::get_buffer_struct_type(), CodeGenerator::getArithWithOverflowIntrinsic(), AutomaticIRMetadataGuard::markInstructions(), AutomaticIRMetadataGuard::rememberOurInstructions(), AutomaticIRMetadataGuard::rememberPreexistingInstructions(), and anonymous_namespace{NativeCodegen.cpp}::serialize_llvm_metadata_footnotes().
bool CgenState::needs_error_check_ |
Definition at line 348 of file CgenState.h.
Referenced by CodeGenerator::codegenAdd(), CodeGenerator::codegenBinOpWithOverflowForCPU(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenDiv(), CodeGenerator::codegenGeosConstructorCall(), CodeGenerator::codegenGeosPredicateCall(), Executor::codegenJoinLoops(), CodeGenerator::codegenMod(), CodeGenerator::codegenMul(), CodeGenerator::codegenSub(), CodeGenerator::codegenUMinus(), and emitErrorCheck().
bool CgenState::needs_geos_ |
Definition at line 349 of file CgenState.h.
Referenced by CodeGenerator::codegenGeosConstructorCall(), and CodeGenerator::codegenGeosPredicateCall().
std::vector<llvm::Value*> CgenState::outer_join_match_found_per_level_ |
Definition at line 344 of file CgenState.h.
Referenced by Executor::buildJoinLoops().
llvm::Function* CgenState::query_func_ |
Definition at line 351 of file CgenState.h.
Referenced by CodeGenerator::codegenHoistedConstantsLoads().
llvm::IRBuilder CgenState::query_func_entry_ir_builder_ |
Definition at line 352 of file CgenState.h.
Referenced by CodeGenerator::codegenHoistedConstantsLoads().
std::unordered_map<int, std::vector<llvm::Value*> > CgenState::query_func_literal_loads_ |
Definition at line 353 of file CgenState.h.
Referenced by CodeGenerator::codegenHoistedConstants().
llvm::Function* CgenState::row_func_ |
Definition at line 323 of file CgenState.h.
Referenced by Executor::buildJoinLoops(), CodeGenerator::generateNativeGPUCode(), Executor::redeclareFilterFunction(), and anonymous_namespace{NativeCodegen.cpp}::serialize_llvm_metadata_footnotes().
llvm::BasicBlock* CgenState::row_func_bb_ |
Definition at line 326 of file CgenState.h.
llvm::CallInst* CgenState::row_func_call_ |
Definition at line 328 of file CgenState.h.
std::unordered_map<llvm::Value*, HoistedLiteralLoadLocator> CgenState::row_func_hoisted_literals_ |
Definition at line 359 of file CgenState.h.
Referenced by CodeGenerator::codegenHoistedConstantsPlaceholders().
std::unordered_map<int, llvm::Value*> CgenState::scan_idx_to_hash_pos_ |
Definition at line 345 of file CgenState.h.
Referenced by Executor::addJoinLoopIterator().
std::vector<llvm::Value*> CgenState::str_constants_ |
Definition at line 341 of file CgenState.h.
Referenced by addStringConstant().
llvm::ValueToValueMapTy CgenState::vmap_ |
Definition at line 332 of file CgenState.h.
Referenced by emitCall(), CodeGenerator::link_udf_module(), and runtime_module_shallow_copy().