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
