Commit 84355514 by Andreas Schwab Committed by Andreas Schwab

re PR ada/80146 (ICE in copy_to_mode_reg, at explow.c:612)

	PR ada/80146
	* calls.c (prepare_call_address): Convert funexp to Pmode before
	copying to temp reg.

From-SVN: r246570
parent 8777357c
2017-03-29 Andreas Schwab <schwab@suse.de>
PR ada/80146
* calls.c (prepare_call_address): Convert funexp to Pmode before
copying to temp reg.
2017-03-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/80158
......
......@@ -206,6 +206,9 @@ prepare_call_address (tree fndecl_or_type, rtx funexp, rtx static_chain_value,
DECL_STATIC_CHAIN (fndecl_or_type) = 1;
rtx chain = targetm.calls.static_chain (fndecl_or_type, false);
if (GET_MODE (funexp) != Pmode)
funexp = convert_memory_address (Pmode, funexp);
/* Avoid long live ranges around function calls. */
funexp = copy_to_mode_reg (Pmode, funexp);
......
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