Daniel Becker has uploaded a new patch set (#5). ( 
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
---
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(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/19083/5
--
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: newpatchset
Gerrit-Change-Id: I63b9285bac6494a19f614d0ebc694a91bdf7a8a0
Gerrit-Change-Number: 19083
Gerrit-PatchSet: 5
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]>

Reply via email to