diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-08 08:59:34 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-08 08:59:34 +0000 |
commit | abe32cceb59cc1e912e0ba48e9981ef3738e618a (patch) | |
tree | 72b27dbbc1af80f97285e66868faf1c622ad35d0 /gcc/config/alpha/alpha.c | |
parent | 4e6df644f4d5d382ec70eb5da103dd17ddf4524a (diff) | |
download | gcc-abe32cceb59cc1e912e0ba48e9981ef3738e618a.tar.gz |
* function.h (incomming_args): Break out of struct function.
(function_subsections): Break out of struct function.
(rtl_data): Add args, subsections fields. Break out outgoing_args_size,
return_rtx and hard_reg_initial_vals from struct function.
Kill inl_max_label_num.
(current_function_pops_args, current_function_args_info,
current_function_args_size, current_function_args_size,
current_function_pretend_args_size,
current_function_outgoing_args_size,
current_function_internal_arg_pointer, current_function_return_rtx):
Kill compatibility accestor macros.
* builtins.c (expand_builtin_apply_args_1): Update.
(expand_builtin_next_arg): Update.
* df-scan.c (df_get_call_refs): Update.
* dbxout.c (dbxout_function_end): Update.
* dwarf2out.c (dwarf2out_switch_text_section): Update.
(output_line_info): Update.
(secname_for_decl): Update.
(dwarf2out_var_location): Update.
* function.c (free_after_compilation): Update.
(assign_parm_find_stack_rtl): Update.
(assign_parms): Update.
(expand_dummy_function_end): Update.
(expand_function_end): Update.
* calls.c (mem_overlaps_already_clobbered_arg_p): Update.
(expand_call): Update.
(emit_library_call_value_1): Update.
(store_one_arg): Update.
* varasm.c (initialize_cold_section_name): Update.
(unlikely_text_section): Update.
(unlikely_text_section_p): Update.
(assemble_start_function): Update.
(assemble_end_function): Update.
(default_section_type_flags): Update.
(switch_to_section): Update.
* integrate.c (set_decl_abstract_flags): Update.
(get_hard_reg_initial_val): Update.
(has_hard_reg_initial_val): Update.
(allocate_initial_values): Update.
* resource.c (init_resource_info): Update.
* config/alpha/alpha.c (NUM_ARGS): Update.
(direct_return): Update.
(alpha_va_start): Update.
(alpha_sa_size): Update.
(alpha_initial_elimination_offset): Update.
(alpha_expand_prologue): Update.
(alpha_start_function): Update.
(alpha_expand_epilogue): Update.
(unicosmk_initial_elimination_offset):
* config/alpha/alpha.md (call expander): Update.
* config/s390/s390.c (s390_register_info): Update.
(s390_register_info): Update.
(s390_frame_info): Update.
(s390_initial_elimination_offset): Update.
(s390_build_builtin_va_list): Update.
(s390_va_start): Update.
* config/spu/spu.c (direct_return): Update.
(spu_expand_prologue): Update.
(spu_initial_elimination_offset): Update.
(spu_build_builtin_va_list): Update.
(spu_va_start): Update.
* config/sparc/sparc.c (sparc_init_modes): Update.
(sparc_compute_frame_size): Update.
(function_value): Update.
* config/m32r/m32r.c (m32r_compute_frame_size): Update.
* config/i386/i386.md (return expander): Update.
* config/i386/i386.c (ix86_va_start): Update.
(ix86_can_use_return_insn_p): Update.
(ix86_compute_frame_layout): Update.
(ix86_expand_epilogue): Update.
* config/sh/sh.c (output_stack_adjust): Update.
(calc_live_regs): Update.
(sh_expand_prologue): Update.
(sh_builtin_saveregs): Update.
(sh_va_start): Update.
(initial_elimination_offset): Update.
(sh_allocate_initial_value): Update.
(sh_function_ok_for_sibcall): Update.
(sh_get_pr_initial_val): Update.
* config/sh/sh.md (return expander): Update.
* config/avr/avr.c (frame_pointer_required_p): UPdate.
* config/crx/crx.c (crx_compute_frame): UPdate.
(crx_initial_elimination_offset): UPdate.
* config/xtensa/xtensa.c (compute_frame_size): Update
(xtensa_builtin_saveregs): Update.
(xtensa_va_start): Update.
(order_regs_for_local_alloc): Update.
* config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update.
(xstormy16_expand_builtin_va_start): Update.
* config/fr30/fr30.c (fr30_compute_frame_size): Update.
* config/m68hc11/m68hc11.md (return expanders): Update.
* config/m68hc11/m68hc11.c (expand_prologue): Update.
(expand_epilogue): Update.
* config/cris/cris.c (cris_initial_frame_pointer_offset): Update.
(cris_simple_epilogue): Update.
(cris_expand_prologue): Update.
(cris_expand_epilogue): Update.
* config/iq2000/iq2000.c (iq2000_va_start): Update.
(compute_frame_size): Update.
* config/mt/mt.c (mt_compute_frame_size): Update.
* config/mn10300/mn10300.c (expand_prologue): Update.
(expand_epilogue): Update.
(initial_offset): Update.
(mn10300_builtin_saveregs):
* config/mn10300/mn10300.md (return expander): Update.
* config/ia64/ia64.c (ia64_compute_frame_size): Update.
(ia64_initial_elimination_offset): Update.
(ia64_initial_elimination_offset): Update.
(ia64_expand_prologue): Update.
* config/m68k/m68k.md (return expander): Update.
* config/rs6000/rs6000.c (rs6000_va_start): Update.
(rs6000_stack_info): Update.
* config/mcore/mcore.c (layout_mcore_frame): Update.
(mcore_expand_prolog): Update.
* config/arc/arc.c (arc_compute_frame_size): Update.
* config/score/score3.c (score3_compute_frame_size): Update.
* config/score/score7.c (score7_compute_frame_size): Update.
* config/arm/arm.c (use_return_insn): Update.
(thumb_find_work_register): Update.
(arm_compute_save_reg_mask): Update.
(arm_output_function_prologue): Update.
(arm_output_epilogue): Update.
(arm_size_return_regs): Update.
(arm_get_frame_offsets): Update.
(arm_expand_prologue): Update.
(thumb_exit): Update.
(thumb_unexpanded_epilogue): Update.
(thumb1_output_function_prologue): Update.
* config/pa/pa.md (return expander): Update.
* config/pa/pa.c (compute_frame_size): Update.
(hppa_builtin_saveregs): Update.
* config/mips/mips.c (mips_va_start): Update.
(mips16_build_function_stub): Update.
(mips_compute_frame_info): Update.
(mips_restore_gp): Update.
(mips_output_function_prologue): Update.
(mips_expand_prologue): Update.
* config/v850/v850.c (compute_frame_size): Update.
(expand_prologue): * config/mmix/mmix.c (along): update.
(mmix_initial_elimination_offset): update.
(mmix_reorg): update.
(mmix_use_simple_return): update.
(mmix_expand_prologue): update.
(mmix_expand_epilogue): Update.
* config/bfin/bfin.c (bfin_initial_elimination_offset): Update.
(emit_link_insn): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134087 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha/alpha.c')
-rw-r--r-- | gcc/config/alpha/alpha.c | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 9e650b9ae14..02d3b684ae8 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -189,9 +189,9 @@ static struct alpha_rtx_cost_data const alpha_rtx_cost_size = /* Get the number of args of a function in one of two ways. */ #if TARGET_ABI_OPEN_VMS || TARGET_ABI_UNICOSMK -#define NUM_ARGS current_function_args_info.num_args +#define NUM_ARGS crtl->args.info.num_args #else -#define NUM_ARGS current_function_args_info +#define NUM_ARGS crtl->args.info #endif #define REG_PV 27 @@ -643,8 +643,8 @@ direct_return (void) && reload_completed && alpha_sa_size () == 0 && get_frame_size () == 0 - && current_function_outgoing_args_size == 0 - && current_function_pretend_args_size == 0); + && crtl->outgoing_args_size == 0 + && crtl->args.pretend_args_size == 0); } /* Return the ADDR_VEC associated with a tablejump insn. */ @@ -6082,7 +6082,7 @@ alpha_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED) if (NUM_ARGS < 6) offset = TARGET_ABI_OPEN_VMS ? UNITS_PER_WORD : 6 * UNITS_PER_WORD; else - offset = -6 * UNITS_PER_WORD + current_function_pretend_args_size; + offset = -6 * UNITS_PER_WORD + crtl->args.pretend_args_size; if (TARGET_ABI_OPEN_VMS) { @@ -7148,7 +7148,7 @@ alpha_sa_size (void) alpha_procedure_type = (sa_size || get_frame_size() != 0 - || current_function_outgoing_args_size + || crtl->outgoing_args_size || current_function_stdarg || current_function_calls_alloca || frame_pointer_needed) ? PT_STACK : PT_REGISTER; @@ -7184,7 +7184,7 @@ alpha_sa_size (void) = (frame_pointer_needed || current_function_has_nonlocal_label || alpha_procedure_type == PT_STACK - || current_function_outgoing_args_size) + || crtl->outgoing_args_size) ? REG_PV : HARD_FRAME_POINTER_REGNUM; /* If we want to copy PV into FP, we need to find some register @@ -7229,7 +7229,7 @@ alpha_initial_elimination_offset (unsigned int from, HOST_WIDE_INT ret; ret = alpha_sa_size (); - ret += ALPHA_ROUND (current_function_outgoing_args_size); + ret += ALPHA_ROUND (crtl->outgoing_args_size); switch (from) { @@ -7238,8 +7238,8 @@ alpha_initial_elimination_offset (unsigned int from, case ARG_POINTER_REGNUM: ret += (ALPHA_ROUND (get_frame_size () - + current_function_pretend_args_size) - - current_function_pretend_args_size); + + crtl->args.pretend_args_size) + - crtl->args.pretend_args_size); break; default: @@ -7447,23 +7447,23 @@ alpha_expand_prologue (void) frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 8 : 0) + frame_size - + current_function_pretend_args_size); + + crtl->args.pretend_args_size); else if (TARGET_ABI_UNICOSMK) /* We have to allocate space for the DSIB if we generate a frame. */ frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 48 : 0)) + ALPHA_ROUND (frame_size - + current_function_outgoing_args_size); + + crtl->outgoing_args_size); else - frame_size = (ALPHA_ROUND (current_function_outgoing_args_size) + frame_size = (ALPHA_ROUND (crtl->outgoing_args_size) + sa_size + ALPHA_ROUND (frame_size - + current_function_pretend_args_size)); + + crtl->args.pretend_args_size)); if (TARGET_ABI_OPEN_VMS) reg_offset = 8; else - reg_offset = ALPHA_ROUND (current_function_outgoing_args_size); + reg_offset = ALPHA_ROUND (crtl->outgoing_args_size); alpha_sa_mask (&imask, &fmask); @@ -7677,14 +7677,14 @@ alpha_expand_prologue (void) FRP (emit_move_insn (hard_frame_pointer_rtx, stack_pointer_rtx)); /* If we have to allocate space for outgoing args, do it now. */ - if (current_function_outgoing_args_size != 0) + if (crtl->outgoing_args_size != 0) { rtx seq = emit_move_insn (stack_pointer_rtx, plus_constant (hard_frame_pointer_rtx, - (ALPHA_ROUND - (current_function_outgoing_args_size)))); + (crtl->outgoing_args_size)))); /* Only set FRAME_RELATED_P on the stack adjustment we just emitted if ! frame_pointer_needed. Setting the bit will change the CFA @@ -7696,7 +7696,7 @@ alpha_expand_prologue (void) frame_pointer_needed => vms_unwind_regno == HARD_FRAME_POINTER_REGNUM and - current_function_outgoing_args_size != 0 + crtl->outgoing_args_size != 0 => alpha_procedure_type != PT_NULL, so when we are not setting the bit here, we are guaranteed to @@ -7773,22 +7773,22 @@ alpha_start_function (FILE *file, const char *fnname, frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 8 : 0) + frame_size - + current_function_pretend_args_size); + + crtl->args.pretend_args_size); else if (TARGET_ABI_UNICOSMK) frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 48 : 0)) + ALPHA_ROUND (frame_size - + current_function_outgoing_args_size); + + crtl->outgoing_args_size); else - frame_size = (ALPHA_ROUND (current_function_outgoing_args_size) + frame_size = (ALPHA_ROUND (crtl->outgoing_args_size) + sa_size + ALPHA_ROUND (frame_size - + current_function_pretend_args_size)); + + crtl->args.pretend_args_size)); if (TARGET_ABI_OPEN_VMS) reg_offset = 8; else - reg_offset = ALPHA_ROUND (current_function_outgoing_args_size); + reg_offset = ALPHA_ROUND (crtl->outgoing_args_size); alpha_sa_mask (&imask, &fmask); @@ -7858,7 +7858,7 @@ alpha_start_function (FILE *file, const char *fnname, } /* Set up offsets to alpha virtual arg/local debugging pointer. */ - alpha_auto_offset = -frame_size + current_function_pretend_args_size; + alpha_auto_offset = -frame_size + crtl->args.pretend_args_size; alpha_arg_offset = -frame_size + 48; /* Describe our frame. If the frame size is larger than an integer, @@ -7877,7 +7877,7 @@ alpha_start_function (FILE *file, const char *fnname, (frame_pointer_needed ? HARD_FRAME_POINTER_REGNUM : STACK_POINTER_REGNUM), frame_size >= max_frame_size ? 0 : frame_size, - current_function_pretend_args_size); + crtl->args.pretend_args_size); /* Describe which registers were spilled. */ if (TARGET_ABI_UNICOSMK) @@ -7972,17 +7972,17 @@ alpha_expand_epilogue (void) frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 8 : 0) + frame_size - + current_function_pretend_args_size); + + crtl->args.pretend_args_size); else if (TARGET_ABI_UNICOSMK) frame_size = ALPHA_ROUND (sa_size + (alpha_procedure_type == PT_STACK ? 48 : 0)) + ALPHA_ROUND (frame_size - + current_function_outgoing_args_size); + + crtl->outgoing_args_size); else - frame_size = (ALPHA_ROUND (current_function_outgoing_args_size) + frame_size = (ALPHA_ROUND (crtl->outgoing_args_size) + sa_size + ALPHA_ROUND (frame_size - + current_function_pretend_args_size)); + + crtl->args.pretend_args_size)); if (TARGET_ABI_OPEN_VMS) { @@ -7992,7 +7992,7 @@ alpha_expand_epilogue (void) reg_offset = 0; } else - reg_offset = ALPHA_ROUND (current_function_outgoing_args_size); + reg_offset = ALPHA_ROUND (crtl->outgoing_args_size); alpha_sa_mask (&imask, &fmask); @@ -9775,12 +9775,12 @@ unicosmk_initial_elimination_offset (int from, int to) else if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) return 0; else if (from == FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM) - return (ALPHA_ROUND (current_function_outgoing_args_size) + return (ALPHA_ROUND (crtl->outgoing_args_size) + ALPHA_ROUND (get_frame_size())); else if (from == ARG_POINTER_REGNUM && to == STACK_POINTER_REGNUM) return (ALPHA_ROUND (fixed_size) + ALPHA_ROUND (get_frame_size() - + current_function_outgoing_args_size)); + + crtl->outgoing_args_size)); else gcc_unreachable (); } |