OmniSciDB
a5dc49c757
|
#include <llvm/IR/Constants.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Type.h>
#include <llvm/Support/raw_os_ostream.h>
#include "Logger/Logger.h"
Go to the source code of this file.
Macros | |
#define | LLVM_ALIGN(alignment) alignment |
#define | LLVM_MAYBE_ALIGN(alignment) alignment |
Functions | |
llvm::ArrayType * | get_int_array_type (int const width, int count, llvm::LLVMContext &context) |
llvm::VectorType * | get_int_vector_type (int const width, int count, llvm::LLVMContext &context) |
llvm::Type * | get_int_type (const int width, llvm::LLVMContext &context) |
llvm::Type * | get_fp_type (const int width, llvm::LLVMContext &context) |
llvm::Type * | get_fp_ptr_type (const int width, llvm::LLVMContext &context) |
llvm::Type * | get_int_ptr_type (const int width, llvm::LLVMContext &context) |
template<class T > | |
llvm::ConstantInt * | ll_int (const T v, llvm::LLVMContext &context) |
llvm::ConstantInt * | ll_bool (const bool v, llvm::LLVMContext &context) |
template<class T > | |
std::string | serialize_llvm_object (const T *llvm_obj) |
void | verify_function_ir (const llvm::Function *func) |
#define LLVM_ALIGN | ( | alignment | ) | alignment |
Definition at line 31 of file IRCodegenUtils.h.
Referenced by TargetExprCodegen::codegen(), GroupByAndAggregate::codegen(), query_group_by_template(), and query_template().
#define LLVM_MAYBE_ALIGN | ( | alignment | ) | alignment |
Definition at line 32 of file IRCodegenUtils.h.
Referenced by anonymous_namespace{ResultSetReductionCodegen.cpp}::translate_body().
|
inline |
Definition at line 119 of file IRCodegenUtils.h.
References UNREACHABLE.
Referenced by TableFunctionCompilationContext::generateEntryPoint(), and anonymous_namespace{TableFunctionCompilationContext.cpp}::get_llvm_type_from_sql_column_type().
|
inline |
Definition at line 106 of file IRCodegenUtils.h.
References logger::FATAL, LOG, UNREACHABLE, and width.
Referenced by Executor::codegenLoadCurrentValueFromColBuf(), Executor::codegenLoadOrderKeyBufPtr(), CodeGenerator::codegenPerRowStringOper(), Executor::codegenWindowNavigationFunctionOnFrame(), CodeGenerator::endArgsNullcheck(), and llvm_type().
|
inline |
Definition at line 35 of file IRCodegenUtils.h.
References logger::FATAL, LOG, and width.
Referenced by CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenCast(), Executor::codegenJoinLoops(), and BoundingBoxIntersectJoinHashTable::codegenMatchingSet().
|
inline |
Definition at line 130 of file IRCodegenUtils.h.
References UNREACHABLE.
Referenced by TableFunctionCompilationContext::generateEntryPoint(), and anonymous_namespace{TableFunctionCompilationContext.cpp}::get_llvm_type_from_sql_column_type().
|
inline |
Definition at line 83 of file IRCodegenUtils.h.
References logger::FATAL, LOG, UNREACHABLE, and width.
Referenced by CgenState::addStringConstant(), Executor::aggregateWindowStatePtr(), Executor::castToIntPtrTyIn(), CgenState::castToTypeIn(), TargetExprCodegen::codegen(), GroupByAndAggregate::codegen(), JoinLoop::codegen(), CodeGenerator::codegen(), GroupByAndAggregate::codegenAggArg(), GroupByAndAggregate::codegenAggColumnPtr(), TargetExprCodegen::codegenAggregate(), Executor::codegenAggregateWindowState(), CodeGenerator::codegenArrayAt(), CodeGenerator::codegenArrayExpr(), CodeGenerator::codegenBoundingBoxIntersect(), CodeGenerator::codegenCast(), CodeGenerator::codegenCastBetweenIntTypes(), CodeGenerator::codegenCastBetweenIntTypesOverflowChecks(), CodeGenerator::codegenCastFromFp(), CodeGenerator::codegenCastFromString(), CodeGenerator::codegenCastNonStringToString(), CodeGenerator::codegenCastTimestampToDate(), CodeGenerator::codegenCastTimestampToTime(), GroupByAndAggregate::codegenCountDistinct(), Executor::codegenCurrentPartitionIndex(), CodeGenerator::codegenDateTruncHighPrecisionTimestamps(), CodeGenerator::codegenDiv(), GroupByAndAggregate::codegenEstimator(), CodeGenerator::codegenFixedLengthColVar(), CodeGenerator::codegenFixedLengthColVarInWindow(), Executor::codegenFrameNullRange(), CodeGenerator::codegenFunctionOperCastArgs(), CodeGenerator::codegenFunctionOperNullArg(), CodeGenerator::codegenFunctionOperWithCustomTypeHandling(), CodeGenerator::codegenGeoArgs(), CodeGenerator::codegenGeosConstructorCall(), spatial_type::PointN::codegenGeoSize(), CodeGenerator::codegenGeosPredicateCall(), CodeGenerator::codegenHoistedConstantsLoads(), CodeGenerator::codegenIsNull(), Executor::codegenJoinLoops(), RangeJoinHashTable::codegenKey(), BaselineJoinHashTable::codegenKey(), Executor::codegenLoadCurrentValueFromColBuf(), Executor::codegenLoadOrderKeyBufPtr(), Executor::codegenLoadPartitionBuffers(), spatial_type::Centroid::codegenLoads(), spatial_type::Distance::codegenLoads(), spatial_type::AreaPerimeter::codegenLoads(), spatial_type::StartEndPoint::codegenLoads(), spatial_type::NPoints::codegenLoads(), spatial_type::NRings::codegenLoads(), spatial_type::NumGeometries::codegenLoads(), BaselineJoinHashTable::codegenMatchingSet(), BoundingBoxIntersectJoinHashTable::codegenMatchingSet(), RangeJoinHashTable::codegenMatchingSetWithOffset(), GroupByAndAggregate::codegenMode(), GroupByAndAggregate::codegenMultiColumnPerfectHash(), GroupByAndAggregate::codegenPerfectHashFunction(), CodeGenerator::codegenPerRowStringOper(), CodeGenerator::codegenQualifierCmp(), GpuSharedMemCodeBuilder::codegenReduction(), BaselineJoinHashTable::codegenSlot(), TargetExprCodegenBuilder::codegenSlotEmptyKey(), Executor::codegenWindowAvgEpilogue(), Executor::codegenWindowFunctionAggregate(), Executor::codegenWindowFunctionAggregateCalls(), Executor::codegenWindowFunctionStateInit(), Executor::codegenWindowNavigationFunctionOnFrame(), Executor::codegenWindowResetStateControlFlow(), GroupByAndAggregate::codegenWindowRowPointer(), CodeGenerator::codgenAdjustFixedEncNull(), ScalarCodeGenerator::compile(), anonymous_namespace{ResultSetReductionInterpreterStubs.cpp}::create_stub_function(), CodeGenerator::endArgsNullcheck(), anonymous_namespace{ExtensionsIR.cpp}::ext_arg_type_to_llvm_type(), anonymous_namespace{TableFunctionCompilationContext.cpp}::generate_entry_point(), TableFunctionCompilationContext::generateEntryPoint(), TableFunctionCompilationContext::generateGpuKernel(), StubGenerator::generateStub(), TableFunctionCompilationContext::generateTableFunctionCall(), GroupByAndAggregate::getAdditionalLiteral(), Executor::groupByColumnCodegen(), ll_bool(), ll_int(), llvm_type(), anonymous_namespace{ScalarCodeGenerator.cpp}::llvm_type_from_sql(), CodeGenerator::posArg(), InValuesBitmap::prepareBitIsSetParams(), Executor::redeclareFilterFunction(), and anonymous_namespace{ResultSetReductionCodegen.cpp}::translate_for().
|
inline |
Definition at line 59 of file IRCodegenUtils.h.
References logger::FATAL, LOG, and width.
|
inline |
Definition at line 153 of file IRCodegenUtils.h.
References get_int_type().
Referenced by JoinLoop::codegen(), CodeGenerator::codegen(), CodeGenerator::codegenFunctionOperCastArgs(), JoinLoop::evaluateOuterJoinCondition(), and CgenState::llBool().
|
inline |
Definition at line 148 of file IRCodegenUtils.h.
References get_int_type().
Referenced by JoinLoop::codegen(), GpuSharedMemCodeBuilder::codegenInitialization(), GpuSharedMemCodeBuilder::codegenReduction(), anonymous_namespace{JoinLoopTest.cpp}::generate_descriptors(), CgenState::inlineIntMaxMin(), and CgenState::llInt().
std::string serialize_llvm_object | ( | const T * | llvm_obj | ) |
Definition at line 159 of file IRCodegenUtils.h.
Referenced by TableFunctionCompilationContext::finalize(), ResultSetReductionJIT::finalizeReductionCode(), Executor::optimizeAndCodegenCPU(), and GpuSharedMemCodeBuilder::toString().
void verify_function_ir | ( | const llvm::Function * | func | ) |
Definition at line 46 of file JoinLoopTest.cpp.
References logger::FATAL, and LOG.
Referenced by GpuSharedMemCodeBuilder::codegen(), spatial_type::Transform::codegen(), anonymous_namespace{JoinLoopTest.cpp}::create_loop_test_function(), TableFunctionCompilationContext::generateEntryPoint(), StubGenerator::generateStub(), and translate_function().