This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Remove unnecessary code from mips_expand_prologue
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: 06 Oct 2003 18:19:34 +0100
- Subject: Remove unnecessary code from mips_expand_prologue
This patch removes an unneeded traversal of the function arguments
in mips_expand_prologue. Probably obvious, but it was only tested
in combination with the earlier -mentry patch and with the prologue
rewrite that I'm about to post.
Tested on the same targets as before. OK to install?
* config/mips/mips.c (mips_expand_prologue): Remove unused
traversal of function arguments.
diff -ur config/mips.nomentry/mips.c config/mips/mips.c
--- config/mips.nomentry/mips.c Sat Oct 4 14:33:42 2003
+++ config/mips/mips.c Sat Oct 4 14:47:57 2003
@@ -6648,46 +6648,9 @@
{
HOST_WIDE_INT tsize;
rtx tmp_rtx = 0;
- tree fndecl = current_function_decl;
- tree fntype = TREE_TYPE (fndecl);
- tree fnargs = DECL_ARGUMENTS (fndecl);
- tree cur_arg;
- CUMULATIVE_ARGS args_so_far;
if (cfun->machine->global_pointer > 0)
REGNO (pic_offset_table_rtx) = cfun->machine->global_pointer;
-
- /* If struct value address is treated as the first argument, make it so. */
- if (aggregate_value_p (DECL_RESULT (fndecl), fndecl)
- && ! current_function_returns_pcc_struct
- && targetm.calls.struct_value_rtx (fndecl, 0) == 0)
- {
- tree type = build_pointer_type (fntype);
- tree function_result_decl = build_decl (PARM_DECL, NULL_TREE, type);
-
- DECL_ARG_TYPE (function_result_decl) = type;
- TREE_CHAIN (function_result_decl) = fnargs;
- fnargs = function_result_decl;
- }
-
- /* Go through the function arguments, leaving args_so_far reflecting
- the final state. */
- INIT_CUMULATIVE_ARGS (args_so_far, fntype, NULL_RTX, current_function_decl);
- for (cur_arg = fnargs; cur_arg != 0; cur_arg = TREE_CHAIN (cur_arg))
- {
- tree passed_type;
- enum machine_mode passed_mode;
-
- passed_type = DECL_ARG_TYPE (cur_arg);
- if (TREE_ADDRESSABLE (passed_type))
- {
- passed_type = build_pointer_type (passed_type);
- passed_mode = Pmode;
- }
- else
- passed_mode = TYPE_MODE (passed_type);
- FUNCTION_ARG_ADVANCE (args_so_far, passed_mode, passed_type, 1);
- }
tsize = compute_frame_size (get_frame_size ());