calls.c (emit_library_call_value_1): If FUNCTION_ARG_PASS_BY_REFERENCE is true...

* calls.c (emit_library_call_value_1): If
	FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
	libcall, const call nor pure call.

From-SVN: r55676
This commit is contained in:
J"orn Rennecke 2002-07-23 11:18:10 +00:00 committed by Joern Rennecke
parent 1e7a2d3fd5
commit a0dc500c86
2 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
* calls.c (emit_library_call_value_1): If
FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
libcall, const call nor pure call.
2002-07-23 Neil Booth <neil@daikokuya.co.uk>
* config/m88k/m88k.h (SECTION_ASM_OP): Remove.

View File

@ -3678,6 +3678,16 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
#endif
;
/* loop.c won't look at CALL_INSN_FUNCTION_USAGE of const/pure
functions, so we have to pretend this isn't such a function. */
if (flags & ECF_LIBCALL_BLOCK)
{
rtx insns = get_insns ();
end_sequence ();
emit_insn (insns);
}
flags &= ~(ECF_CONST | ECF_PURE | ECF_LIBCALL_BLOCK);
if (GET_MODE (val) == MEM && ! must_copy)
slot = val;
else if (must_copy)