[PATCH] D57268: [dllimport] Don't use RAV to check inlinability

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 25 16:37:35 PST 2019


rnk created this revision.
rnk added a reviewer: hans.

I don't like this change, because I had to copy a fair amount of logic
from RAV into the dllimport visitor. However, the build time and size
results were still impressive, so I wanted to upload this and get a
second opinion. Here's the data:

| metric   | before | after | diff  |
| time (s) | 38.7   | 25.3  | -13.4 |
| obj (kb) | 12012  | 9428  | -2584 |
| exe (kb) | 86000  | 85924 | -76   |
|

Do you think I should land this as is? I'm considering factoring some of
this stuff up into a "RecursiveStmtVisitor" that tries to visit "code
that executes in a particular function scope". It could be used for
availability diagnostics that search for use of particular local
variables, etc. That seems to be the main use case we have for RAVs:
given a predicate, find all referenced decls, and check some predicate.


https://reviews.llvm.org/D57268

Files:
  clang/lib/CodeGen/CodeGenModule.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57268.183659.patch
Type: text/x-patch
Size: 5270 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190126/a21f26fd/attachment.bin>


More information about the cfe-commits mailing list