| 360 | } |
| 361 | |
| 362 | Status ScalarExpr::GetCodegendComputeFn( |
| 363 | LlvmCodeGen* codegen, bool is_codegen_entry_point, llvm::Function** fn) { |
| 364 | if (ir_compute_fn_ != nullptr) { |
| 365 | *fn = ir_compute_fn_; |
| 366 | } else { |
| 367 | RETURN_IF_ERROR(GetCodegendComputeFnImpl(codegen, fn)); |
| 368 | ir_compute_fn_ = *fn; |
| 369 | } |
| 370 | if (is_codegen_entry_point && !added_to_jit_) { |
| 371 | // Ensure Get*Val() is made callable if this function is called at least once |
| 372 | // with is_codegen_entry_point=true. |
| 373 | added_to_jit_ = true; |
| 374 | codegen->AddFunctionToJit(*fn, &codegend_compute_fn_); |
| 375 | } |
| 376 | return Status::OK(); |
| 377 | } |
| 378 | |
| 379 | #define SCALAR_EXPR_GET_VAL_INTERPRETED(type) \ |
| 380 | type ScalarExpr::Get##type##Interpreted( \ |
no test coverage detected