------- Comment #2 from rguenth at gcc dot gnu dot org 2010-02-13 19:12 ------- Indeed. After IPA-inline we have:
Init_libxg/4659(4659) @0x7fffef076138 availability:available 65 time, 10 benefit (112338 after inlining) 37 size, 1 benefit (89974 after inlining) needed reachable body externally_visible finalized inlinable called by: calls: scm_c_eval_string/4663 (0.39 per call) scm_c_eval_string/4663 (0.39 per call) scm_c_eval_string/4663 (0.39 per call) scm_c_define/4662 (0.39 per call) scm_from_locale_string/4661 (0.39 per call) scm_add_feature/4660 (0.39 per call) define_strings/4658 (inlined) (0.39 per call) define_atoms/4657 (0.39 per call) define_structs/4654 (0.39 per call) define_functions/4653 (inlined) (0.39 per call) define_doubles/4656 (0.39 per call) define_integers/4655 (inlined) (0.39 per call) scm_set_smob_free/4665 (0.39 per call) scm_make_smob_type/4664 (0.39 per call) And the function-called once dump looks odd to me: Deciding on functions called once: Considering define_strings size 840. Called once from Init_libxg 37 insns. Inlined into Init_libxg which now has 876 size for a net change of -841 size. Considering define_integers size 11078. Called once from Init_libxg 876 insns. Inlined into Init_libxg which now has 11953 size for a net change of -11079 size. I can't believe on this net change. Considering define_doubles size 56. Called once from Init_libxg 11953 insns. Not inlining: --param large-function-growth limit reached. Considering define_functions size 78022. Called once from Init_libxg 11953 insns. Inlined into Init_libxg which now has 89974 size for a net change of -78023 size. what? We refused to inline define_doubles but inline define_functions?? Considering define_atoms size 119. Called once from Init_libxg 89974 insns. Not inlining: --param large-function-growth limit reached. Considering define_structs size 757. Called once from Init_libxg 89974 insns. Not inlining: --param large-function-growth limit reached. Very very odd. Honza? -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43058