aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorRadovan Obradovic <robradovic@mips.com>2014-05-28 09:43:21 +0000
committerTom de Vries <vries@gcc.gnu.org>2014-05-28 09:43:21 +0000
commitc2ba7e7a62c63106e1e811d31b27df26bdae0169 (patch)
tree3fd6226eae59256645e73f80df2f379d2a822117 /gcc/final.c
parent27c07cc5d06c0f74d147c14c6a4b0b071266e774 (diff)
downloadgcc-c2ba7e7a62c63106e1e811d31b27df26bdae0169.zip
gcc-c2ba7e7a62c63106e1e811d31b27df26bdae0169.tar.gz
gcc-c2ba7e7a62c63106e1e811d31b27df26bdae0169.tar.bz2
-fuse-caller-save - Use collected register usage information
2014-05-28 Radovan Obradovic <robradovic@mips.com> Tom de Vries <tom@codesourcery.com> * df-scan.c (df_get_call_refs): Use get_call_reg_set_usage. * caller-save.c (setup_save_areas, save_call_clobbered_regs): Use get_call_reg_set_usage. * resource.c (mark_set_resources, mark_target_live_regs): Use get_call_reg_set_usage. * ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs field. (ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define. * ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage. Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS. * ira-build.c (ira_create_allocno): Init ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS. (create_cap_allocno, propagate_allocno_info) (propagate_some_info_from_allocno) (copy_info_to_removed_store_destinations): Handle ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS. * ira-costs.c (ira_tune_allocno_costs): Use ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r211007
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/final.c b/gcc/final.c
index f75edd5..a345fe7 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -4781,9 +4781,6 @@ collect_fn_hard_reg_usage (void)
/* Be conservative - mark fixed and global registers as used. */
IOR_HARD_REG_SET (node->function_used_regs, fixed_reg_set);
- for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
- if (global_regs[i])
- SET_HARD_REG_BIT (node->function_used_regs, i);
#ifdef STACK_REGS
/* Handle STACK_REGS conservatively, since the df-framework does not