[cfe-commits] r146959 - in /cfe/trunk: include/clang/AST/ include/clang/Analysis/Analyses/ include/clang/Basic/ include/clang/CodeGen/ include/clang/Driver/ include/clang/Frontend/ include/clang/Lex/ include/clang/Sema/ include/clang/StaticAnalyzer/Core/ include/clang/StaticAnalyzer/Core/BugReporter/ include/clang/StaticAnalyzer/Core/PathSensitive/ lib/AST/ lib/Analysis/ lib/Basic/ lib/CodeGen/ lib/Driver/ lib/Frontend/ lib/Lex/ lib/Parse/ lib/Sema/ lib/StaticAnalyzer/Core/ utils/TableGen/

Rafael Ávila de Espíndola rafael.espindola at gmail.com
Mon Dec 19 21:48:04 PST 2011


On 19/12/11 11:33 PM, Ted Kremenek wrote:
> Hi David,
> 
> I'm sorry to come down hard here, but I really don't like the idea of
> adding a fake method just unweaken the vtables.  Can we just move the
> offending virtual methods out-of-line?  Having weak vtables is one
> thing; have a dead method permanently embedded in that vtable is
> another.  We've now just increased the size of the clang executable
> (and make the code less pretty) just to perform this build-time
> optimization.

At least on ELF the impact of the patch is small, but mostly on the
wrong direction. I tested reverting this patch in a Release build.

When being build with clang, reverting reduces the sum of the size of
every .o from 73445656 bytes to 73420224 bytes and of the clang binary
from 30553808 to 30513696.

When building with gcc 4.6, the sum of the size of every .o goes from
81926520 to 82165328 (so the patch saved a bit) and the clang binary
goes from 36017976 to 35894528.

> I'm going to revert this change.
> 
> Ted

Cheers,
Rafael




More information about the cfe-commits mailing list