OmniSciDB
a575cb28ea
|
Public Member Functions | |
ReductionInterpreterImpl (const std::vector< ReductionInterpreter::EvalValue > &vars) | |
std::optional < ReductionInterpreter::EvalValue > | ret () const |
Static Public Member Functions | |
static void | runGetElementPtr (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runLoad (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runICmp (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runBinaryOperator (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runCast (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runRet (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runCall (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runExternalCall (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runAlloca (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runMemCpy (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runReturnEarly (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
static void | runFor (const Instruction *instruction, ReductionInterpreterImpl *interpreter) |
Private Member Functions | |
void | setVar (const Value *var, ReductionInterpreter::EvalValue value) |
Static Private Member Functions | |
template<class Call > | |
static std::vector < ReductionInterpreter::EvalValue > | getCallInputs (const Call *call, const ReductionInterpreterImpl *interpreter) |
template<class Call > | |
static StubGenerator::Stub | bindStub (const Call *call) |
Private Attributes | |
std::vector < ReductionInterpreter::EvalValue > | vars_ |
std::vector< std::vector < int8_t > > | alloca_buffers_ |
std::optional < ReductionInterpreter::EvalValue > | ret_ = std::nullopt |
Definition at line 56 of file ResultSetReductionInterpreter.cpp.
|
inline |
Definition at line 58 of file ResultSetReductionInterpreter.cpp.
|
inlinestaticprivate |
Definition at line 337 of file ResultSetReductionInterpreter.cpp.
References Call::arguments(), Call::cached_callee(), Call::callee_name(), CHECK, Call::external(), StubGenerator::generateStub(), anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_value_types(), Call::set_cached_callee(), and Value::type().
|
inlinestaticprivate |
Definition at line 324 of file ResultSetReductionInterpreter.cpp.
References Call::arguments(), and vars_.
|
inline |
Definition at line 61 of file ResultSetReductionInterpreter.cpp.
References ret_.
|
inlinestatic |
Definition at line 252 of file ResultSetReductionInterpreter.cpp.
References alloca_buffers_, CHECK, anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_element_size(), is_integer_type(), ReductionInterpreter::EvalValue::mutable_ptr, ret_, setVar(), and vars_.
Referenced by Alloca::run().
|
inlinestatic |
Definition at line 148 of file ResultSetReductionInterpreter.cpp.
References BinaryOperator::Add, CHECK, logger::FATAL, ReductionInterpreter::EvalValue::int_val, is_integer_type(), LOG, BinaryOperator::Mul, run_benchmark_import::result, ret_, setVar(), and vars_.
Referenced by BinaryOperator::run().
|
inlinestatic |
Definition at line 213 of file ResultSetReductionInterpreter.cpp.
References CHECK, ret_, ReductionInterpreter::run(), setVar(), and Void.
Referenced by Call::run().
|
inlinestatic |
Definition at line 174 of file ResultSetReductionInterpreter.cpp.
References Cast::BitCast, CHECK, logger::FATAL, ReductionInterpreter::EvalValue::int_val, is_integer_type(), is_pointer_type(), LOG, ReductionInterpreter::EvalValue::ptr, ret_, setVar(), Cast::SExt, Cast::Trunc, and vars_.
Referenced by Cast::run().
|
inlinestatic |
Definition at line 239 of file ResultSetReductionInterpreter.cpp.
References ExternalCall::arguments(), CHECK, anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_value_types(), ret_, and setVar().
Referenced by ExternalCall::run().
|
inlinestatic |
Definition at line 293 of file ResultSetReductionInterpreter.cpp.
References alloca_buffers_, CHECK, generate_TableFunctionsFactory_init::i, is_integer_type(), ret_, ReductionInterpreter::run(), and vars_.
Referenced by For::run().
|
inlinestatic |
Definition at line 64 of file ResultSetReductionInterpreter.cpp.
References CHECK, anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_element_size(), ReductionInterpreter::EvalValue::ptr, ret_, setVar(), and vars_.
Referenced by GetElementPtr::run().
|
inlinestatic |
Definition at line 123 of file ResultSetReductionInterpreter.cpp.
References CHECK, ICmp::EQ, logger::FATAL, ReductionInterpreter::EvalValue::int_val, is_integer_type(), LOG, ICmp::NE, run_benchmark_import::result, ret_, setVar(), and vars_.
Referenced by ICmp::run().
|
inlinestatic |
Definition at line 76 of file ResultSetReductionInterpreter.cpp.
References CHECK, ReductionInterpreter::EvalValue::double_val, DoublePtr, logger::FATAL, ReductionInterpreter::EvalValue::float_val, FloatPtr, Int32Ptr, Int64Ptr, Int64PtrPtr, Int8Ptr, ReductionInterpreter::EvalValue::int_val, is_pointer_type(), LOG, ReductionInterpreter::EvalValue::ptr, ret_, setVar(), Load::source(), Value::type(), and vars_.
Referenced by Load::run().
|
inlinestatic |
Definition at line 265 of file ResultSetReductionInterpreter.cpp.
References CHECK, run_benchmark_import::dest, is_integer_type(), is_pointer_type(), ret_, and vars_.
Referenced by MemCpy::run().
|
inlinestatic |
Definition at line 200 of file ResultSetReductionInterpreter.cpp.
References CHECK, ret_, vars_, and Void.
Referenced by Ret::run().
|
inlinestatic |
Definition at line 278 of file ResultSetReductionInterpreter.cpp.
References CHECK, Int1, ReductionInterpreter::EvalValue::int_val, ret_, and vars_.
Referenced by ReturnEarly::run().
|
inlineprivate |
Definition at line 318 of file ResultSetReductionInterpreter.cpp.
References Value::id().
Referenced by runAlloca(), runBinaryOperator(), runCall(), runCast(), runExternalCall(), runGetElementPtr(), runICmp(), and runLoad().
|
private |
Definition at line 353 of file ResultSetReductionInterpreter.cpp.
Referenced by runAlloca(), and runFor().
|
private |
Definition at line 355 of file ResultSetReductionInterpreter.cpp.
Referenced by ret(), runAlloca(), runBinaryOperator(), runCall(), runCast(), runExternalCall(), runFor(), runGetElementPtr(), runICmp(), runLoad(), runMemCpy(), runRet(), and runReturnEarly().
|
private |
Definition at line 351 of file ResultSetReductionInterpreter.cpp.
Referenced by getCallInputs(), runAlloca(), runBinaryOperator(), runCast(), runFor(), runGetElementPtr(), runICmp(), runLoad(), runMemCpy(), runRet(), and runReturnEarly().