Commit 9fd47435 by Richard Sandiford Committed by Richard Sandiford

calls.c (initialize_argument_information): Forbid sibcalls if a callee-copied…

calls.c (initialize_argument_information): Forbid sibcalls if a callee-copied argument is stored in the current function's...

	* calls.c (initialize_argument_information): Forbid sibcalls if a
	callee-copied argument is stored in the current function's frame.

From-SVN: r82129
parent fea6ecb7
2004-05-22 Richard Sandiford <rsandifo@redhat.com>
* calls.c (initialize_argument_information): Forbid sibcalls if a
callee-copied argument is stored in the current function's frame.
2004-05-22 Eric Christopher <echristo@redhat.com>
* fix-header.c (read_scan_file): Update for add_path change.
......
......@@ -1129,6 +1129,13 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
&& ! REG_P (DECL_RTL (TREE_OPERAND (args[i].tree_value, 1))))
args[i].tree_value = TREE_OPERAND (args[i].tree_value, 1);
/* We can't use sibcalls if a callee-copied argument is stored
in the current function's frame. */
if (!call_from_thunk_p
&& (!DECL_P (args[i].tree_value)
|| !TREE_STATIC (args[i].tree_value)))
*may_tailcall = false;
args[i].tree_value = build1 (ADDR_EXPR,
build_pointer_type (type),
args[i].tree_value);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment