Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/19083 )
Change subject: IMPALA-11623: Put *-ir.cc files into their own libraries to avoid extra recompilation ...................................................................... IMPALA-11623: Put *-ir.cc files into their own libraries to avoid extra recompilation Currently, modifying most files incurs a rebuild of the LLVM IR, which is a slow serial step. This change splits off the *-ir.cc files into their own libraries that have no dependency relation with the original libraries from which they are separated. The build of the LLVM IR depends only on the new IR libraries, so if a non-IR C++ source file is modified, the LLVM IR does not need to be rebuilt. Note that the LLVM IR build does not actually need or use the new IR libraries - it is a completely separate procedure in which the *-ir.cc files are included in impala-ir.cc and compiled with Clang into LLVM bitcode. We add the dependency on the IR libraries to trigger the rebuilding of the LLVM IR whenever an *-ir.cc file is modified. However, the new IR libraries still need to be compiled into the main Impala executable. Also, dependence on the target 'gen_ir_descriptions' was not consistent. As it is a fast target and needed by most other targets, 'gen-deps' now depends on it to keep things safer and simpler. Direct dependencies on 'gen_ir_descriptions' were removed from that targets that also depend on 'gen-deps'. Testing: - manually verified for each modified target library that the LLVM IR is not recompiled when a non-IR .cc file is modified, but is recompiled if the corresponding header or *-ir.cc file is modified. Change-Id: I63b9285bac6494a19f614d0ebc694a91bdf7a8a0 Reviewed-on: http://gerrit.cloudera.org:8080/19083 Reviewed-by: Impala Public Jenkins <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> --- M CMakeLists.txt M be/CMakeLists.txt M be/src/codegen/CMakeLists.txt M be/src/exec/CMakeLists.txt M be/src/exec/avro/CMakeLists.txt M be/src/exec/kudu/CMakeLists.txt M be/src/exprs/CMakeLists.txt M be/src/gutil/CMakeLists.txt M be/src/runtime/CMakeLists.txt M be/src/udf/CMakeLists.txt M be/src/util/CMakeLists.txt M be/src/util/cache/CMakeLists.txt 12 files changed, 97 insertions(+), 55 deletions(-) Approvals: Impala Public Jenkins: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/19083 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I63b9285bac6494a19f614d0ebc694a91bdf7a8a0 Gerrit-Change-Number: 19083 Gerrit-PatchSet: 7 Gerrit-Owner: Daniel Becker <[email protected]> Gerrit-Reviewer: Daniel Becker <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]>
