The following patch adds 9 tests code quality tests for inlining and 
devirtualization optimizations.  These tests were originally developed by Matt.

Current mainline can optimize only test 5.  Martin's patch in 
http://gcc.gnu.org/ml/gcc-patches/2011-10/msg02506.html will enable 
optimization of test 1.  The rest of the tests are xfailed for now.

Martin's other patch that adds rebuild_cgraph_edges_devirt pass will enable 
optimizations of another couple of these tests.

My patch for accounting devirtualization benefit in inliner (in review by 
Honza) will make yet more of these tests to pass.

It is possible to make all tests but the last one to pass with the above 
optimizations, plus more aggressive inlining and iterative optimizations 
enabled.  The last 9th test requires knowledge of libstdc++ templates, which 
can be possibly achieved with LTO.

Provided no objections, I will commit this patch one Martin's patch goes in.

Thank you,

--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics


Attachment: fsf-gcc-inline-devirt-tests.ChangeLog
Description: Binary data

Attachment: fsf-gcc-inline-devirt-tests.patch
Description: Binary data

Reply via email to