This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Always use LCT_* as fn_type for emit_library_call*
- From: Jakub Jelinek <jakub at redhat dot com>
- To: rth at redhat dot com, bernds at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 19 Nov 2001 23:46:05 +0100
- Subject: [PATCH] Always use LCT_* as fn_type for emit_library_call*
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
Looks like this was missed in the fn_type 0/1/2 -> LCT_* conversion.
As there is no expand_library_block afterwards, I'd guess
LCT_CONST_MAKE_BLOCK is the right value, but if you think LCT_CONST
should be used instead, I'll change it. I've also updated emit_library_call
argument description, since it was still describing the old FN_TYPE values.
Ok to commit?
2001-11-19 Jakub Jelinek <jakub@redhat.com>
* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
as second argument to emit_library_call.
* calls.c (emit_library_call): Update fn_type description.
--- gcc/optabs.c.jj Tue Nov 20 00:31:27 2001
+++ gcc/optabs.c Tue Nov 20 00:33:48 2001
@@ -3193,7 +3193,8 @@ prepare_cmp_insn (px, py, pcomparison, s
if (unsignedp && ucmp_optab->handlers[(int) mode].libfunc)
libfunc = ucmp_optab->handlers[(int) mode].libfunc;
- emit_library_call (libfunc, 1, word_mode, 2, x, mode, y, mode);
+ emit_library_call (libfunc, LCT_CONST_MAKE_BLOCK, word_mode, 2, x, mode,
+ y, mode);
/* Immediately move the result of the libcall into a pseudo
register so reload doesn't clobber the value if it needs
--- gcc/calls.c.jj Mon Nov 12 10:33:42 2001
+++ gcc/calls.c Tue Nov 20 00:32:54 2001
@@ -4198,10 +4198,12 @@ emit_library_call_value_1 (retval, orgfu
and machine_modes to convert them to.
The rtx values should have been passed through protect_from_queue already.
- FN_TYPE will be zero for `normal' calls, one for `const' calls,
- which will be enclosed in REG_LIBCALL/REG_RETVAL notes, and two for
- `pure' calls, that are handled like `const' calls with extra
- (use (memory (scratch)). */
+ FN_TYPE should be LCT_NORMAL for `normal' calls, LCT_CONST for `const'
+ calls, LCT_PURE for `pure' calls, LCT_CONST_MAKE_BLOCK for `const' calls
+ which should be enclosed in REG_LIBCALL/REG_RETVAL notes,
+ LCT_PURE_MAKE_BLOCK for `purep' calls which should be enclosed in
+ REG_LIBCALL/REG_RETVAL notes with extra (use (memory (scratch)),
+ or other LCT_ value for other types of library calls. */
void
emit_library_call VPARAMS((rtx orgfun, enum libcall_type fn_type,
Jakub