Daniel Becker has uploaded this change for review. ( 
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.

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 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/runtime/CMakeLists.txt
M be/src/udf/CMakeLists.txt
M be/src/util/CMakeLists.txt
9 files changed, 90 insertions(+), 47 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/83/19083/3
--
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: newchange
Gerrit-Change-Id: I63b9285bac6494a19f614d0ebc694a91bdf7a8a0
Gerrit-Change-Number: 19083
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Becker <[email protected]>
Gerrit-Reviewer: Daniel Becker <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>

Reply via email to