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