[cfe-dev] [analyzer] Summary IPA thoughts +code

Aleksei Sidorin via cfe-dev cfe-dev at lists.llvm.org
Wed Mar 2 06:38:52 PST 2016

Hello David,

You can find a mail archive page discussing this topic here:

If you have any questions, feel free to ask.

02.03.2016 17:25, David Come пишет:
> Dear sir,
> My name is David Come and I'm a French Phd student working on formal 
> methods for C++.
> Your work about IPA seems interesting but I recently subscribed to the 
> mailing list so I don't know the specifics.
> Do you have a web page explaining your work, or if not, could you tell 
> me more ?
> Regards,
> David
> On 02/03/2016 14:42, Aleksei Sidorin via cfe-dev wrote:
>> Hello Gabor,
>> We still use a file-by-file approach so we don't build a full AST but 
>> merging ASTs of analyzed callees only where possible. We build a 
>> mapping showing what file contains required functions. Then, we 
>> analyze a project file-by-file. During analysis, we import this 
>> definition to our TU if we meet a call with a callee definition in 
>> another file,  and continue analysis as usually.
>> This approach seems to work. It should get much better performance 
>> after implementation of summary serialization due to summary inter-TU 
>> reusage. We don't build a full project AST but this is not a memory 
>> bottleneck: a real bottleneck currently is function summaries.
>> Currently we're working on upstreaming our ASTImporter work. This 
>> work is slow enough because it requires massive test writing 
>> (ASTImporter lacks tests now). But we hope, it will become available 
>> for all clang users who needs it.
>>> Hi!
>>> Do you have some updates? I checked the repository, and there are 
>>> python
>>> scripts indicating cross TU analysis support (and there were also some
>>> ASTImporter work). I was wondering what is the state of this? What 
>>> is the
>>> approach you are using? Does that approach work, when the unified AST
>>> possibly not fit into the memory?

Best regards,
Aleksei Sidorin
Software Engineer,
IMSWL-IMCG, SRR, Samsung Electronics

More information about the cfe-dev mailing list