Tim Armstrong has posted comments on this change.

Change subject: Reduce size of cross-compiled IR
......................................................................


Patch Set 1:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/2464/1/be/src/common/status.h
File be/src/common/status.h:

Line 156:   inline IR_ALWAYS_INLINE ~Status() {
> Yes, Michael added these inlines when he was speeding up Status. Apparently
I added an ALWAYS_INLINE macro to common/compiler-util.h

This is probably better than just the regular "inline" keyword in that 
situation since it will not silently regress.


http://gerrit.cloudera.org:8080/#/c/2464/1/be/src/exec/hash-table.h
File be/src/exec/hash-table.h:

Line 131:   int IR_ALWAYS_INLINE level() const { return level_; }
> is there some custom inlining pass we could write that would inline everyth
I looked at the LLVM inliner and the heuristics are pretty complicated so it's 
hard to tell why it wasn't inline. I think it's related to the number of 
callsites: trivial functions with a small number of callsites were all inlined 
by running llvm's opt with a low inlining threshold. I think the remainder are 
easiest to spot-fix since we get most of the benefit in reduced IR module size 
from fixing a small number of functions.


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Iea04ad2e4b365564ee71082657262485d3a85446
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Alex Behm <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Marcel Kornacker <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-HasComments: Yes

Reply via email to