OSDN Git Service

* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Nov 2001 11:13:14 +0000 (11:13 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Nov 2001 11:13:14 +0000 (11:13 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47241 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/calls.c
gcc/explow.c
gcc/function.c
gcc/optabs.c
gcc/profile.c
gcc/stmt.c

index 11eaaa8..2ecc65c 100644 (file)
@@ -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.
 
index d86b0e0..8b3b969 100644 (file)
@@ -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,
index dce99a2..c98e7f3 100644 (file)
@@ -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);
     }
 
index 4d38285..065f4ab 100644 (file)
@@ -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),
index 8f5c5ca..4514f36 100644 (file)
@@ -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
index 4bf4ea7..57a1c72 100644 (file)
@@ -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);
index 52ae097..8017002 100644 (file)
@@ -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 ();
     }