integrate.c (expand_inline_function): Use the mode of FNDECL's result rtl...

* integrate.c (expand_inline_function): Use the mode of FNDECL's
	result rtl, not the result type itself, in setting ARRIVING_MODE.

From-SVN: r14198
This commit is contained in:
Brendan Kehoe 1997-06-09 19:01:12 -04:00
parent 79479f9000
commit 3ff2293f0a

View File

@ -1673,9 +1673,11 @@ expand_inline_function (fndecl, parms, target, ignore, type,
/* Machine mode function was declared to return. */
enum machine_mode departing_mode = TYPE_MODE (type);
/* (Possibly wider) machine mode it actually computes
(for the sake of callers that fail to declare it right). */
(for the sake of callers that fail to declare it right).
We have to use the mode of the result's RTL, rather than
its type, since expand_function_start may have promoted it. */
enum machine_mode arriving_mode
= TYPE_MODE (TREE_TYPE (DECL_RESULT (fndecl)));
= GET_MODE (DECL_RTL (DECL_RESULT (fndecl)));
rtx reg_to_map;
/* Don't use MEMs as direct targets because on some machines