MCPcopy Create free account
hub / github.com/apache/impala / CreateIrFunctionPrototype

Method CreateIrFunctionPrototype

be/src/exprs/scalar-expr.cc:348–360  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

346}
347
348llvm::Function* ScalarExpr::CreateIrFunctionPrototype(
349 const string& name, LlvmCodeGen* codegen, llvm::Value* (*args)[2]) {
350 llvm::Type* return_type = CodegenAnyVal::GetLoweredType(codegen, type());
351 LlvmCodeGen::FnPrototype prototype(codegen, name, return_type);
352 prototype.AddArgument(
353 LlvmCodeGen::NamedVariable(
354 "eval", codegen->GetStructPtrType<ScalarExprEvaluator>()));
355 prototype.AddArgument(LlvmCodeGen::NamedVariable(
356 "row", codegen->GetStructPtrType<TupleRow>()));
357 llvm::Function* function = prototype.GeneratePrototype(NULL, args[0]);
358 DCHECK(function != NULL);
359 return function;
360}
361
362Status ScalarExpr::GetCodegendComputeFn(
363 LlvmCodeGen* codegen, bool is_codegen_entry_point, llvm::Function** fn) {

Callers

nothing calls this directly

Calls 4

NamedVariableClass · 0.85
AddArgumentMethod · 0.80
GeneratePrototypeMethod · 0.80
typeEnum · 0.50

Tested by

no test coverage detected