OmniSciDB
a5dc49c757
|
Public Member Functions | |
ReductionInterpreterImpl (const size_t executor_id, const std::vector< ReductionInterpreter::EvalValue > &vars) | |
std::optional < ReductionInterpreter::EvalValue > | ret () const |
size_t | getExecutorId () 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 size_t executor_id, const Call *call) |
Private Attributes | |
size_t | executor_id_ |
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 339 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().
Referenced by runCall(), and runExternalCall().
|
inlinestaticprivate |
Definition at line 326 of file ResultSetReductionInterpreter.cpp.
References Call::arguments(), and vars_.
Referenced by runCall(), and runExternalCall().
|
inline |
Definition at line 65 of file ResultSetReductionInterpreter.cpp.
References executor_id_.
Referenced by runCall(), runExternalCall(), and runFor().
|
inline |
Definition at line 62 of file ResultSetReductionInterpreter.cpp.
References ret_.
Referenced by runCall(), runFor(), and runRet().
|
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, is_integer_type(), LOG, ReductionInterpreter::MakeEvalValue(), BinaryOperator::Mul, run_benchmark_import::result, ret_, setVar(), and vars_.
Referenced by BinaryOperator::run().
|
inlinestatic |
Definition at line 211 of file ResultSetReductionInterpreter.cpp.
References bindStub(), CHECK, getCallInputs(), getExecutorId(), ret(), ret_, ReductionInterpreter::run(), setVar(), and Void.
Referenced by Call::run().
|
inlinestatic |
Definition at line 173 of file ResultSetReductionInterpreter.cpp.
References Cast::BitCast, CHECK, logger::FATAL, is_integer_type(), is_pointer_type(), LOG, ReductionInterpreter::MakeEvalValue(), ret_, setVar(), Cast::SExt, Cast::Trunc, and vars_.
Referenced by Cast::run().
|
inlinestatic |
Definition at line 238 of file ResultSetReductionInterpreter.cpp.
References ExternalCall::arguments(), bindStub(), CHECK, anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_value_types(), getCallInputs(), getExecutorId(), ret_, and setVar().
Referenced by ExternalCall::run().
|
inlinestatic |
Definition at line 293 of file ResultSetReductionInterpreter.cpp.
References alloca_buffers_, CHECK, getExecutorId(), is_integer_type(), ret(), ret_, ReductionInterpreter::run(), and vars_.
Referenced by For::run().
|
inlinestatic |
Definition at line 66 of file ResultSetReductionInterpreter.cpp.
References CHECK, anonymous_namespace{ResultSetReductionInterpreter.cpp}::get_element_size(), ReductionInterpreter::MakeEvalValue(), ret_, setVar(), and vars_.
Referenced by GetElementPtr::run().
|
inlinestatic |
Definition at line 123 of file ResultSetReductionInterpreter.cpp.
References CHECK, ICmp::EQ, logger::FATAL, is_integer_type(), LOG, ReductionInterpreter::MakeEvalValue(), ICmp::NE, run_benchmark_import::result, ret_, setVar(), and vars_.
Referenced by ICmp::run().
|
inlinestatic |
Definition at line 78 of file ResultSetReductionInterpreter.cpp.
References CHECK, DoublePtr, logger::FATAL, FloatPtr, Int32Ptr, Int64Ptr, Int64PtrPtr, Int8Ptr, is_pointer_type(), boost::serialization::load(), LOG, ReductionInterpreter::MakeEvalValue(), ret_, setVar(), 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 198 of file ResultSetReductionInterpreter.cpp.
References CHECK, ret(), ret_, vars_, and Void.
Referenced by Ret::run().
|
inlinestatic |
Definition at line 278 of file ResultSetReductionInterpreter.cpp.
References CHECK, report::error_code(), Int1, ReductionInterpreter::MakeEvalValue(), ret_, and vars_.
Referenced by ReturnEarly::run().
|
inlineprivate |
Definition at line 320 of file ResultSetReductionInterpreter.cpp.
References Value::id(), and vars_.
Referenced by runAlloca(), runBinaryOperator(), runCall(), runCast(), runExternalCall(), runGetElementPtr(), runICmp(), and runLoad().
|
private |
Definition at line 358 of file ResultSetReductionInterpreter.cpp.
Referenced by runAlloca(), and runFor().
|
private |
Definition at line 354 of file ResultSetReductionInterpreter.cpp.
Referenced by getExecutorId().
|
private |
Definition at line 360 of file ResultSetReductionInterpreter.cpp.
Referenced by ret(), runAlloca(), runBinaryOperator(), runCall(), runCast(), runExternalCall(), runFor(), runGetElementPtr(), runICmp(), runLoad(), runMemCpy(), runRet(), and runReturnEarly().
|
private |
Definition at line 356 of file ResultSetReductionInterpreter.cpp.
Referenced by getCallInputs(), runAlloca(), runBinaryOperator(), runCast(), runFor(), runGetElementPtr(), runICmp(), runLoad(), runMemCpy(), runRet(), runReturnEarly(), and setVar().