Commit 1cd99a23 by Ben Elliston

rtl.texi (Insns): Remove statement that libcalls cannot return in memory...

	* doc/rtl.texi (Insns): Remove statement that libcalls cannot
	return in memory, as this is no limitation is no longer present.

From-SVN: r109649
parent 04aff2c0
2006-01-13 Ben Elliston <bje@au.ibm.com>
* doc/rtl.texi (Insns): Remove statement that libcalls cannot
return in memory, as this is no limitation is no longer present.
2006-01-12 DJ Delorie <dj@redhat.com> 2006-01-12 DJ Delorie <dj@redhat.com>
* config/m32c/addsub.md (addhi3): Add two more alternatives, for * config/m32c/addsub.md (addhi3): Add two more alternatives, for
...@@ -10,7 +15,8 @@ ...@@ -10,7 +15,8 @@
DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_ARRAY_SECTION_ASM_OP,
FINI_ARRAY_SECTION_ASM_OP): Define. FINI_ARRAY_SECTION_ASM_OP): Define.
* config/m32c/m32c.c (m32c_legitimize_address): Remove temporary variable. * config/m32c/m32c.c (m32c_legitimize_address): Remove temporary
variable.
(m32c_legitimize_reload_address): New logic to reload FB to An. (m32c_legitimize_reload_address): New logic to reload FB to An.
(m32c_output_reg_push): Add newline. (m32c_output_reg_push): Add newline.
(m32c_output_reg_pop): Likewise. (m32c_output_reg_pop): Likewise.
......
...@@ -2991,14 +2991,7 @@ TARGET_PASS_BY_REFERENCE}) are stored. If the argument is ...@@ -2991,14 +2991,7 @@ TARGET_PASS_BY_REFERENCE}) are stored. If the argument is
caller-copied (@pxref{Register Arguments, TARGET_CALLEE_COPIES}), caller-copied (@pxref{Register Arguments, TARGET_CALLEE_COPIES}),
the stack slot will be mentioned in @code{CLOBBER} and @code{USE} the stack slot will be mentioned in @code{CLOBBER} and @code{USE}
entries; if it's callee-copied, only a @code{USE} will appear, and the entries; if it's callee-copied, only a @code{USE} will appear, and the
@code{MEM} may point to addresses that are not stack slots. These @code{MEM} may point to addresses that are not stack slots.
@code{MEM}s are used only in libcalls, because, unlike regular function
calls, @code{CONST_CALL}s (which libcalls generally are, @pxref{Flags,
CONST_CALL_P}) aren't assumed to read and write all memory, so flow
would consider the stores dead and remove them. Note that, since a
libcall must never return values in memory (@pxref{Aggregate Return,
RETURN_IN_MEMORY}), there will never be a @code{CLOBBER} for a memory
address holding a return value.
@code{CLOBBER}ed registers in this list augment registers specified in @code{CLOBBER}ed registers in this list augment registers specified in
@code{CALL_USED_REGISTERS} (@pxref{Register Basics}). @code{CALL_USED_REGISTERS} (@pxref{Register Basics}).
......
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