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
This commit is contained in:
parent
8777357cb5
commit
84355514f4
|
@ -1,3 +1,9 @@
|
|||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue