impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Ho (Code Review)" <>
Subject [Impala-CR](cdh5-trunk) IMPALA-2548: Codegen Tuple::MaterializeExprs() and use in TopN node
Date Thu, 17 Mar 2016 21:28:30 GMT
Michael Ho has posted comments on this change.

Change subject: IMPALA-2548: Codegen Tuple::MaterializeExprs() and use in TopN node

Patch Set 8:

File be/src/codegen/

Line 585: WriteToSlot
Have you considered refactoring the code so there is more sharing with TextConverter::CodegenWriteSlot()
? It seems that both of them are trying to achieve similar things.

Line 597:   // Create new block after conditional blocks if necessary
        :   if (insert_before == NULL) insert_before = BasicBlock::Create(context, "end_write",
Just wondering why this statement isn't before the creation of the two basic blocks "null"
and "non_null" which use "insert_before" ?
File be/src/codegen/llvm-codegen.h:

Line 428: CodegenMemset
Not related to this change but just wondering why we never need one for memcmp ? It appears
that @_ZNK10impala_udf9StringValeqERKS0_ in the IR is calling the non-intrinsic memcmp().
File be/src/runtime/

Line 331: >GetPtrType(
Can you please update the patch to converge on using only one of GetPtrType() or getPointerTo()
File be/src/runtime/tuple.h:

Line 148: MemPool* pool,
Can we drop this parameter and update CodegenMaterializeExprs() to generate different signature
for the two versions of the functions ? In this way, at least llvm will flag an error if the
call sites replacement screws up.

Line 164: MemPool* pool,
Can we drop this parameter ?

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib422a8d50303c21c6a228675157bf867e8619444
Gerrit-PatchSet: 8
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Skye Wanderman-Milne <>
Gerrit-Reviewer: Michael Ho <>
Gerrit-Reviewer: Skye Wanderman-Milne <>
Gerrit-HasComments: Yes

View raw message