impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Armstrong (Code Review)" <>
Subject [Impala-ASF-CR] IMPALA-3637,IMPALA-3636: refactor codegen constant replacement
Date Mon, 03 Oct 2016 21:34:45 GMT
Hello Jim Apple,

I'd like you to reexamine a change.  Please visit

to look at the new patch set (#5).

Change subject: IMPALA-3637,IMPALA-3636: refactor codegen constant replacement

IMPALA-3637,IMPALA-3636: refactor codegen constant replacement

Merge the disparate codegen constant replacement mechanisms into a
single general-purpose mechanism that can replace function calls,
or function calls with a constant argument, with constants. This
new mechanism should be more easily extensible to handle further
instances of constant replacement.

Use the new infrastructure to replace CpuInfo::IsSupported() calls
in all codegen'd functions using the new infastructure.

This also provides an immediate benefit that some interpreted code paths
that previously called Expr::GetConstant() will be faster, since they
are now just simple inlinable function calls, instead of going through
more levels of runtime indirection.

We have good coverage of expression and operator codegen through
end-to-end tests. Update the expr-codegen-test unit test to test the new
mechanism along with the CpuInfo::IsSupported() mechanism.

Change-Id: I6ba029ed8589698eb15dbfb0a20dd2a7ea752635
M be/src/codegen/CMakeLists.txt
A be/src/codegen/
A be/src/codegen/
A be/src/codegen/constant-replacement.h
M be/src/codegen/
M be/src/codegen/llvm-codegen.h
M be/src/exec/CMakeLists.txt
A be/src/exec/
A be/src/exec/hash-table-constant-replacer.h
M be/src/exec/
M be/src/exec/hash-table.h
M be/src/exec/
M be/src/exec/
M be/src/exec/
M be/src/exprs/CMakeLists.txt
M be/src/exprs/
M be/src/exprs/
M be/src/exprs/
M be/src/exprs/
D be/src/exprs/
A be/src/exprs/
A be/src/exprs/expr-constant-replacement.h
M be/src/exprs/
M be/src/exprs/expr.h
M be/src/exprs/
M be/src/exprs/
M be/src/runtime/types.h
M be/src/udf/udf-internal.h
M be/src/util/
M be/src/util/cpu-info.h
M testdata/workloads/functional-query/queries/QueryTest/exprs.test
31 files changed, 1,216 insertions(+), 795 deletions(-)

  git pull ssh:// refs/changes/43/3843/5
To view, visit
To unsubscribe, visit

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I6ba029ed8589698eb15dbfb0a20dd2a7ea752635
Gerrit-PatchSet: 5
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <>
Gerrit-Reviewer: Jim Apple <>
Gerrit-Reviewer: Michael Ho
Gerrit-Reviewer: Michael Ho <>
Gerrit-Reviewer: Tim Armstrong <>

View raw message