From c2ba7e7a62c63106e1e811d31b27df26bdae0169 Mon Sep 17 00:00:00 2001 From: Radovan Obradovic Date: Wed, 28 May 2014 09:43:21 +0000 Subject: -fuse-caller-save - Use collected register usage information 2014-05-28 Radovan Obradovic Tom de Vries * 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 From-SVN: r211007 --- gcc/final.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'gcc/final.c') 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 -- cgit v1.1