re PR rtl-optimization/31396 (Inline code performance much worse than out-of-line)
authorJan Hubicka <jh@suse.cz>
Wed, 16 Jan 2008 16:32:05 +0000 (17:32 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 16 Jan 2008 16:32:05 +0000 (16:32 +0000)
commita03c6d64f468ff2aaebcf2a87bb589938264bc38
treee7a65553b87a99438635f0d5abcf71b9c8210b5c
parent58c0b6524407250f48bb9c616943bf05a1ee6478
re PR rtl-optimization/31396 (Inline code performance much worse than out-of-line)

PR rtl-optimization/31396
* regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
* cfg.c (dump_reg_info): Print it.
* regs.h (struct reg_info_t): add freq_calls_crossed.
(REG_FREQ_CALLS_CROSSED): New macro.
* global.c (global_alloc): Compute freq_calls_crossed for allocno.
(find_reg): Update call of CALLER_SAVE_PROFITABLE.
* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
regmove_optimize): Update call crossed frequencies.
* local-alloc.c (struct qty): Add freq_calls_crossed.
(alloc_qty): Copute freq_calls_crossed.
(update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
(find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
* ra.h (struct allocno): Add freq_calls_crossed.

From-SVN: r131576
gcc/ChangeLog
gcc/cfg.c
gcc/global.c
gcc/local-alloc.c
gcc/ra.h
gcc/regmove.c
gcc/regs.h
gcc/regstat.c