[llvm-dev] Clang Preprocessor Speed Up

Andy via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 24 15:17:52 PDT 2016


Hello, folks!

Currently me with one other guy are trying to play with clang. The 
proposal may seem stupid, excuse me, if it was already discussed, we 
just want to try to implement something useful which seems absent for now.

Ok, the idea. It seems interesting to try to make lexer a little bit 
more efficient in terms of macro expanding by applying partial expansion 
of macros. the idea is that some libraries have rather deeply nested 
macro definitions, and each time lexer sees it in code, it reexpands 
definition fully. This seems to be overkill sometimes, for rather often 
macros are not redefined in code, so expansion can be reused.

Of course, the typical nesting is rather low, but for example 
BOOST_PP_REPEAT can cause such situations.

So, the question is, what do you think about possible utility of such 
research and the reasons for you think so?
<https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwii-ZW4oNrLAhWrCXMKHcFpA1wQFggfMAA&url=http%3A%2F%2Fwww.boost.org%2Fdoc%2Flibs%2F1_43_0%2Flibs%2Fpreprocessor%2Fdoc%2Fref%2Frepeat.html&usg=AFQjCNEicOX9h6Dsd1M82MOjMV5148Rtkg&sig2=p0GM1-YQQGGwaDMHbeHuiA&cad=rja> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160325/a72f8ff8/attachment.html>


More information about the llvm-dev mailing list