Commit fe8dd12e by Jan Hubicka Committed by Jan Hubicka

re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)


	PR bootstrap/63573
	* calls.c (initialize_argument_information): When emitting thunk call
	use original memory placement of the argument.

From-SVN: r217307
parent be8118c5
2014-11-10 Jan Hubicka <hubicka@ucw.cz>
PR bootstrap/63573
* calls.c (initialize_argument_information): When emitting thunk call
use original memory placement of the argument.
2014-11-10 Renlin Li <renlin.li@arm.com>
PR middle-end/61529
......@@ -1304,6 +1304,16 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED,
&& TREE_CODE (base) != SSA_NAME
&& (!DECL_P (base) || MEM_P (DECL_RTL (base)))))
{
/* Argument setup code may have copied the value to register. We
revert that optimization now because the tail call code must
use the original location. */
if (TREE_CODE (args[i].tree_value) == PARM_DECL
&& !MEM_P (DECL_RTL (args[i].tree_value))
&& DECL_INCOMING_RTL (args[i].tree_value)
&& MEM_P (DECL_INCOMING_RTL (args[i].tree_value)))
set_decl_rtl (args[i].tree_value,
DECL_INCOMING_RTL (args[i].tree_value));
mark_addressable (args[i].tree_value);
/* We can't use sibcalls if a callee-copied argument is
......
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