This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Always use LCT_* as fn_type for emit_library_call* (take 2)


On Mon, Nov 19, 2001 at 11:07:06PM -0500, Graham Stott wrote:
> There's a bunch more that got missed when the original change
> was made and are still using magic numbers instead of LCT_xxx.

True, here is updated patch.
Ok to commit?

2001-11-19  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.

--- gcc/explow.c.jj	Tue Nov 20 00:31:27 2001
+++ gcc/explow.c	Tue Nov 20 13:47:34 2001
@@ -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);
     }
 
--- gcc/function.c.jj	Tue Nov 20 00:31:27 2001
+++ gcc/function.c	Tue Nov 20 13:48:28 2001
@@ -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_
 	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
 	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),
--- gcc/profile.c.jj	Tue Nov  6 19:55:28 2001
+++ gcc/profile.c	Tue Nov 20 13:48:49 2001
@@ -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);
--- 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/stmt.c.jj	Tue Nov 20 00:31:27 2001
+++ gcc/stmt.c	Tue Nov 20 13:49:11 2001
@@ -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 ();
     }
--- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]