aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-11-21 12:13:14 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2001-11-21 12:13:14 +0100
commit1258ee8070967d846e414cfc231cdb39b5de7c69 (patch)
tree414698f86b343b20d34cda0513e9b67a6e76c493
parent83dea45d59b06dc8d99c78e471f97957c54105eb (diff)
downloadgcc-1258ee8070967d846e414cfc231cdb39b5de7c69.zip
gcc-1258ee8070967d846e414cfc231cdb39b5de7c69.tar.gz
gcc-1258ee8070967d846e414cfc231cdb39b5de7c69.tar.bz2
explow.c (probe_stack_range): Use LCT_NORMAL as second argument to emit_library_call.
* explow.c (probe_stack_range): Use LCT_NORMAL as second argument to emit_library_call. * function.c (expand_main_function, expand_function_start, expand_function_end): Likewise. * profile.c (output_func_start_profiler): Likewise. * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as second argument to emit_library_call. * 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. From-SVN: r47241
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/calls.c10
-rw-r--r--gcc/explow.c2
-rw-r--r--gcc/function.c10
-rw-r--r--gcc/optabs.c3
-rw-r--r--gcc/profile.c2
-rw-r--r--gcc/stmt.c2
7 files changed, 29 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 11eaaa8..2ecc65c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,18 @@
2001-11-21 Jakub Jelinek <jakub@redhat.com>
+ * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
+ to emit_library_call.
+ * function.c (expand_main_function, expand_function_start,
+ expand_function_end): Likewise.
+ * profile.c (output_func_start_profiler): Likewise.
+ * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
+ second argument to emit_library_call.
+ * 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.
+
+2001-11-21 Jakub Jelinek <jakub@redhat.com>
+
* c-decl.c (c_expand_deferred_function): Only call c_expand_body
if fndecl is still DECL_INLINE and has DECL_RESULT.
diff --git a/gcc/calls.c b/gcc/calls.c
index d86b0e0..8b3b969 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -4198,10 +4198,12 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
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,
diff --git a/gcc/explow.c b/gcc/explow.c
index dce99a2..c98e7f3 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1471,7 +1471,7 @@ probe_stack_range (first, size)
addr = convert_memory_address (ptr_mode, addr);
#endif
- emit_library_call (stack_check_libfunc, 0, VOIDmode, 1, addr,
+ emit_library_call (stack_check_libfunc, LCT_NORMAL, VOIDmode, 1, addr,
ptr_mode);
}
diff --git a/gcc/function.c b/gcc/function.c
index 4d38285..065f4ab 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -6319,7 +6319,7 @@ expand_main_function ()
#endif
#ifndef HAS_INIT_SECTION
- emit_library_call (gen_rtx_SYMBOL_REF (Pmode, NAME__MAIN), 0,
+ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, NAME__MAIN), LCT_NORMAL,
VOIDmode, 0);
#endif
}
@@ -6545,8 +6545,8 @@ expand_function_start (subr, parms_have_cleanups)
fun = XEXP (fun, 0);
else
abort ();
- emit_library_call (profile_function_entry_libfunc, 0, VOIDmode, 2,
- fun, Pmode,
+ emit_library_call (profile_function_entry_libfunc, LCT_NORMAL, VOIDmode,
+ 2, fun, Pmode,
expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS,
0,
hard_frame_pointer_rtx),
@@ -6830,8 +6830,8 @@ expand_function_end (filename, line, end_bindings)
fun = XEXP (fun, 0);
else
abort ();
- emit_library_call (profile_function_exit_libfunc, 0, VOIDmode, 2,
- fun, Pmode,
+ emit_library_call (profile_function_exit_libfunc, LCT_NORMAL, VOIDmode,
+ 2, fun, Pmode,
expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS,
0,
hard_frame_pointer_rtx),
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 8f5c5ca..4514f36 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -3193,7 +3193,8 @@ prepare_cmp_insn (px, py, pcomparison, size, pmode, punsignedp, purpose)
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
diff --git a/gcc/profile.c b/gcc/profile.c
index 4bf4ea7..57a1c72 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -1145,7 +1145,7 @@ output_func_start_profiler ()
ASM_GENERATE_INTERNAL_LABEL (buf, "LPBX", 0);
table_address = force_reg (Pmode,
gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf)));
- emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__bb_init_func"), 0,
+ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__bb_init_func"), LCT_NORMAL,
mode, 1, table_address, Pmode);
expand_function_end (input_filename, lineno, 0);
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 52ae097..8017002 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -3740,7 +3740,7 @@ expand_nl_goto_receivers (thisblock)
if (any_invalid)
{
expand_nl_goto_receiver ();
- emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "abort"), 0,
+ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "abort"), LCT_NORETURN,
VOIDmode, 0);
emit_barrier ();
}