Commit 1258ee80 by Jakub Jelinek Committed by Jakub Jelinek

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
parent 83dea45d
2001-11-21 Jakub Jelinek <jakub@redhat.com> 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 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
if fndecl is still DECL_INLINE and has DECL_RESULT. if fndecl is still DECL_INLINE and has DECL_RESULT.
......
...@@ -4198,10 +4198,12 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p) ...@@ -4198,10 +4198,12 @@ emit_library_call_value_1 (retval, orgfun, value, fn_type, outmode, nargs, p)
and machine_modes to convert them to. and machine_modes to convert them to.
The rtx values should have been passed through protect_from_queue already. The rtx values should have been passed through protect_from_queue already.
FN_TYPE will be zero for `normal' calls, one for `const' calls, FN_TYPE should be LCT_NORMAL for `normal' calls, LCT_CONST for `const'
which will be enclosed in REG_LIBCALL/REG_RETVAL notes, and two for calls, LCT_PURE for `pure' calls, LCT_CONST_MAKE_BLOCK for `const' calls
`pure' calls, that are handled like `const' calls with extra which should be enclosed in REG_LIBCALL/REG_RETVAL notes,
(use (memory (scratch)). */ 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 void
emit_library_call VPARAMS((rtx orgfun, enum libcall_type fn_type, emit_library_call VPARAMS((rtx orgfun, enum libcall_type fn_type,
......
...@@ -1471,7 +1471,7 @@ probe_stack_range (first, size) ...@@ -1471,7 +1471,7 @@ probe_stack_range (first, size)
addr = convert_memory_address (ptr_mode, addr); addr = convert_memory_address (ptr_mode, addr);
#endif #endif
emit_library_call (stack_check_libfunc, 0, VOIDmode, 1, addr, emit_library_call (stack_check_libfunc, LCT_NORMAL, VOIDmode, 1, addr,
ptr_mode); ptr_mode);
} }
......
...@@ -6319,7 +6319,7 @@ expand_main_function () ...@@ -6319,7 +6319,7 @@ expand_main_function ()
#endif #endif
#ifndef HAS_INIT_SECTION #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); VOIDmode, 0);
#endif #endif
} }
...@@ -6545,8 +6545,8 @@ expand_function_start (subr, parms_have_cleanups) ...@@ -6545,8 +6545,8 @@ expand_function_start (subr, parms_have_cleanups)
fun = XEXP (fun, 0); fun = XEXP (fun, 0);
else else
abort (); abort ();
emit_library_call (profile_function_entry_libfunc, 0, VOIDmode, 2, emit_library_call (profile_function_entry_libfunc, LCT_NORMAL, VOIDmode,
fun, Pmode, 2, fun, Pmode,
expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS, expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS,
0, 0,
hard_frame_pointer_rtx), hard_frame_pointer_rtx),
...@@ -6830,8 +6830,8 @@ expand_function_end (filename, line, end_bindings) ...@@ -6830,8 +6830,8 @@ expand_function_end (filename, line, end_bindings)
fun = XEXP (fun, 0); fun = XEXP (fun, 0);
else else
abort (); abort ();
emit_library_call (profile_function_exit_libfunc, 0, VOIDmode, 2, emit_library_call (profile_function_exit_libfunc, LCT_NORMAL, VOIDmode,
fun, Pmode, 2, fun, Pmode,
expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS, expand_builtin_return_addr (BUILT_IN_RETURN_ADDRESS,
0, 0,
hard_frame_pointer_rtx), hard_frame_pointer_rtx),
......
...@@ -3193,7 +3193,8 @@ prepare_cmp_insn (px, py, pcomparison, size, pmode, punsignedp, purpose) ...@@ -3193,7 +3193,8 @@ prepare_cmp_insn (px, py, pcomparison, size, pmode, punsignedp, purpose)
if (unsignedp && ucmp_optab->handlers[(int) mode].libfunc) if (unsignedp && ucmp_optab->handlers[(int) mode].libfunc)
libfunc = 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 /* Immediately move the result of the libcall into a pseudo
register so reload doesn't clobber the value if it needs register so reload doesn't clobber the value if it needs
......
...@@ -1145,7 +1145,7 @@ output_func_start_profiler () ...@@ -1145,7 +1145,7 @@ output_func_start_profiler ()
ASM_GENERATE_INTERNAL_LABEL (buf, "LPBX", 0); ASM_GENERATE_INTERNAL_LABEL (buf, "LPBX", 0);
table_address = force_reg (Pmode, table_address = force_reg (Pmode,
gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf))); 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); mode, 1, table_address, Pmode);
expand_function_end (input_filename, lineno, 0); expand_function_end (input_filename, lineno, 0);
......
...@@ -3740,7 +3740,7 @@ expand_nl_goto_receivers (thisblock) ...@@ -3740,7 +3740,7 @@ expand_nl_goto_receivers (thisblock)
if (any_invalid) if (any_invalid)
{ {
expand_nl_goto_receiver (); 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); VOIDmode, 0);
emit_barrier (); emit_barrier ();
} }
......
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