Michael Ho has posted comments on this change.

Change subject: IMPALA-3906: Materialize implicitly referenced IR functions
......................................................................


Patch Set 1:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/3740/1/be/src/codegen/llvm-codegen.cc
File be/src/codegen/llvm-codegen.cc:

Line 106: bool LlvmCodeGen::IsDefinedInImpalad(const Function* fn) {
> Maybe the argument should just be the function name?
Done


Line 109:   Status status = LibCache::instance()->GetSoFunctionPtr("", fn_name, 
&fn_ptr, NULL, true);
> Long line.
Done


PS1, Line 122: dyn_cast
> I think you want cast<> instead of dyn_cast<> here and below since you don'
Done


Line 138:   } else if (isa<ConstantVector>(val) || 
isa<ConstantDataVector>(val)) {
> Maybe DCHECK that this is true? I think we want to know if another type of 
I added a DCHECK in a new else clause after this one. Please see if it makes 
sense to you.


Line 147:     Function* fn = fn_list[i];
> I don't think we need the index, so we can simplify to:
Done


PS1, Line 326: "picked"
> "merged"
Done


Line 328:   for (int i = 0; i < fn_names.size(); ++i) {
> for (const string& fn_name: fn_names) {
Done


Line 372:       codegen->MaterializeFunction(&fn);
> Do you have an idea of how many additional functions we're materialising? I
It's adding 12 functions. There is slightly more overhead based on rough 
estimate from the profile.They will be removed in a patch for IMPALA-1112.

_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE23set_iso_extended_formatEv
_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14set_iso_formatEv
_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev
_ZN5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev
_ZN5boost6detail15sp_counted_baseD0Ev
_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9do_put_tmES7_RSt8ios_basecRK2tmSs
_ZNK5boost9date_time10date_facetINS_9gregorian4dateEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14do_put_specialES7_RSt8ios_basecNS0_14special_valuesE
_ZN5boost6detail15sp_counted_baseD2Ev
_ZN5boost9date_time10time_facetINS_10posix_time5ptimeEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14set_iso_formatEv
_ZN5boost9date_time10time_facetINS_10posix_time5ptimeEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE23set_iso_extended_formatEv
_ZN5boost9date_time10time_facetINS_10posix_time5ptimeEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev
_ZN5boost9date_time10time_facetINS_10posix_time5ptimeEcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev


http://gerrit.cloudera.org:8080/#/c/3740/1/be/src/codegen/llvm-codegen.h
File be/src/codegen/llvm-codegen.h:

PS1, Line 550: set
> unordered_set? I believe std::set is a balanced binary tree that isn't very
Done


-- 
To view, visit http://gerrit.cloudera.org:8080/3740
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I3653f55a1aa063b21cb3a5040f502b4c0ecf82e8
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Michael Ho <k...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to