Andrew Sherman has uploaded a new patch set (#2). ( 
http://gerrit.cloudera.org:8080/12068 )

Change subject: IMPALA-7657: Codegen IsNotEmptyPredicate and ValidTupleIdExpr.
......................................................................

IMPALA-7657: Codegen IsNotEmptyPredicate and ValidTupleIdExpr.

These two classes evaluate scalar expressions. Previously codegen
was done by calling ScalarExpr::GetCodegendComputeFnWrapper which
generates a static method that calls the scalar expression evaluation
methods. Make this more efficient by using cross-compiled code which is
customized at codegen time.

Add cross-compiled files is-not-empty-predicate-ir.cc and
valid-tuple-id-ir.cc These files contain the methods that will be
specialized during code generation These methods have to be static
to match the expected method signatures Refactor the existing scalar
methods so that they call a new internal static method which contains
the implementation of the scalar expression This static method is called
from both the old member function and the new cross-compiled method.

IMPALA-7657 also requests replacing GetCodegendComputeFnWrapper()
in TupleIsNullPredicate. In the current Impala code this method
is never called. This is because TupleIsNullPredicate is always
wrapped in an IfExpr. This is always codegen'd by IfExpr's
GetCodegendComputeFnWrapper() method. There is a separate Jira
IMPALA-7655 to improve codegen of IfExpr.

Minor corrections:
 Correct the link to llvm tutorial in LlvmCodegen.
 Make a method private in TupleIsNullPredicate.java.

TESTING:
 The changed scalar expressions are well exercised by current tests.
 Ran end-to-end tests.

Change-Id: Ifb87b9e3b879c278ce8638d97bcb320a7555a6b3
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/codegen/impala-ir.cc
M be/src/codegen/llvm-codegen.h
M be/src/exprs/CMakeLists.txt
A be/src/exprs/is-not-empty-predicate-ir.cc
M be/src/exprs/is-not-empty-predicate.cc
M be/src/exprs/is-not-empty-predicate.h
M be/src/exprs/slot-ref.cc
A be/src/exprs/valid-tuple-id-ir.cc
M be/src/exprs/valid-tuple-id.cc
M be/src/exprs/valid-tuple-id.h
M fe/src/main/java/org/apache/impala/analysis/TupleIsNullPredicate.java
12 files changed, 205 insertions(+), 41 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/68/12068/2
--
To view, visit http://gerrit.cloudera.org:8080/12068
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ifb87b9e3b879c278ce8638d97bcb320a7555a6b3
Gerrit-Change-Number: 12068
Gerrit-PatchSet: 2
Gerrit-Owner: Andrew Sherman <asher...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Thomas Marshall <thomasmarsh...@cmu.edu>

Reply via email to