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
fsf-gcc-inline-devirt-tests.ChangeLog
Description: Binary data
fsf-gcc-inline-devirt-tests.patch
Description: Binary data