Ping
 
28.06.2016, 02:41, "Андрей Серебро via cfe-commits" <cfe-commits@lists.llvm.org>:
Hello everyone.

This patch introduces flag --max-macro-exploc-depth=<value>, which allows to set maximum depth of expansion, on which expansion locations will be evaluated. So, if expansion goes deeper than that, no expansion locations are evaluated, which has following features:

  • time isn't wasted on location creations
  • source locations are saved (running out of source locations will be less frequent)

Not passing this flag just gives standard clang.

I have tested the patch on boost 1.61. Compiling first 15000 files gave same compilation success with and without using the flag, so I have tested it a lot. 

Here is example of successful compilation with this flag and unsuccessful otherwise:

clang -c -ftemplate-depth-32 -O3 -finline-functions -Wno-inline -Wall -pedantic -Wno-variadic-macros -pedantic-errors -std=c++11 -I $BOOST_1_61_HOME -max-macro-exploc-depth=0$BOOST_1_61_HOME/libs/vmd/test/test_doc_modifiers_return_type.cpp

Here is thread about this and some other proposals.
http://clang-developers.42468.n3.nabble.com/Re-llvm-dev-Clang-Preprocessor-Speed-Up-tt4050728.html

I attach preprocessing time for boost statistics so it's possible to see profit gained using new flag. All times there are measured in microseconds. 

 
-- 
Regards,
Andrei Serebro
tel. +79111758381
 
 
,

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

 
 
-- 
Regards,
Andrei Serebro
tel. +79111758381
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to