[cfe-dev] clang-query cache?

rzaghi at mosaic3dx.com rzaghi at mosaic3dx.com
Sat Aug 1 10:14:15 PDT 2015


Hey


I've tried and it works really well actually [😊]


You can pass many source files to clang-query and it takes a while the first time to parse and build the AST.


But once it's saved the AST, the next time you can get to clang-query prompt almost instantly which is what I wanted.


I never submitted any patches so will do this as my first one in the next few days.


Any suggestions on what command line option to add to clang-query? May be "--save-ast" or something similar?



-Ramin


________________________________
From: Nikola Smiljanic <popizdeh at gmail.com>
Sent: 27 July 2015 11:48
To: rzaghi at mosaic3dx.com
Cc: Manuel Klimek; cfe-dev at cs.uiuc.edu
Subject: Re: [cfe-dev] clang-query cache?

Yes, have a look at ASTReader and ASTWriter.

On Mon, Jul 27, 2015 at 8:46 PM, rzaghi at mosaic3dx.com<mailto:rzaghi at mosaic3dx.com> <rzaghi at mosaic3dx.com<mailto:rzaghi at mosaic3dx.com>> wrote:
Correct. I want the AST to be stored on disk.

I am not as familiar with the datastructure but if the classes provide a means of serialzsing and deserializing then I would imagine I can get it done in a couple weeks myself?

Is there any such functionality in the node classes?

R.
________________________________
From: Manuel Klimek <klimek at google.com<mailto:klimek at google.com>>
Sent: 27 July 2015 10:50:09
To: Nikola Smiljanic
Cc: rzaghi at mosaic3dx.com<mailto:rzaghi at mosaic3dx.com>; cfe-dev at cs.uiuc.edu<mailto:cfe-dev at cs.uiuc.edu>
Subject: Re: [cfe-dev] clang-query cache?

So, that would mean storing ASTs on disk and then loading them instead of parsing the files. That would sound like a reasonable enough feature to implement, if somebody is up for it.

On Mon, Jul 27, 2015 at 10:48 AM Nikola Smiljanic <popizdeh at gmail.com<mailto:popizdeh at gmail.com>> wrote:
If I understand correctly he wants to run it over entire codebase as opposed to feed each file individually.

On Mon, Jul 27, 2015 at 3:32 PM, Manuel Klimek <klimek at google.com<mailto:klimek at google.com>> wrote:
Well, it depends. If you have certain kinds of queries you want to repeat, there are projects like kythe [1]. Otherwise, clang-query allows you to match the whole AST, so I'm not sure what you'd want to cache. Do you want to cache sub-queries that do not change?

[1] https://github.com/google/kythe<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_google_kythe&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=CnzuN65ENJ1H9py9XLiRvC_UQz6u3oG6GUNn7_wosSM&m=RGEB26MVTqKGZXxvcZqaaRMp_fkvS93UH30yi2rx0bw&s=wVSUYuH6Xq1DgjTf64kuojS4d58RPqCzAUDP_xapim4&e=>

On Sat, Jul 25, 2015 at 3:45 PM rzaghi at mosaic3dx.com<mailto:rzaghi at mosaic3dx.com> <rzaghi at mosaic3dx.com<mailto:rzaghi at mosaic3dx.com>> wrote:
Is it possible to cache clang-query results so I don't need to run it for every file in a project evertime?

- Ramin

_______________________________________________
cfe-dev mailing list
cfe-dev at cs.uiuc.edu<mailto:cfe-dev at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

_______________________________________________
cfe-dev mailing list
cfe-dev at cs.uiuc.edu<mailto:cfe-dev at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150801/7400fa7d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OutlookEmoji-😊.png
Type: image/png
Size: 488 bytes
Desc: OutlookEmoji-😊.png
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150801/7400fa7d/attachment.png>


More information about the cfe-dev mailing list