]> gcc.gnu.org Git - gcc.git/commitdiff
calls.c (expand_call): Increment currently_expanding_call before calling optimize_tai...
authorRichard Henderson <rth@cygnus.com>
Wed, 10 May 2000 02:53:43 +0000 (19:53 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 10 May 2000 02:53:43 +0000 (19:53 -0700)
        * calls.c (expand_call): Increment currently_expanding_call
        before calling optimize_tail_recursion.

From-SVN: r33813

gcc/ChangeLog
gcc/calls.c

index 4ff9a7295799aae120b78946cefbcbc0075ac2f0..e91f0b2ed7e82277d0e3003daf39532034b3bab4 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-09  Richard Henderson  <rth@cygnus.com>
+
+       * calls.c (expand_call): Increment currently_expanding_call
+       before calling optimize_tail_recursion.
+
 Tue May  9 18:54:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * reload1.c (reload_combine): Fix errors in last change.
index 3dd688f9ae0a6129b65b26dfa17aad68261aaf9d..0c1693afa62a8874d409b79962c257b2bbed983d 100644 (file)
@@ -2305,9 +2305,9 @@ expand_call (exp, target, ignore)
      This is most often true of sjlj-exceptions, which we couldn't
      tail-call to anyway.  */
 
-  if (!flag_optimize_sibling_calls
+  if (currently_expanding_call++ != 0
+      || !flag_optimize_sibling_calls
       || !rtx_equal_function_value_matters
-      || currently_expanding_call
       || !stmt_loop_nest_empty ()
       || any_pending_cleanups (1)
       || args_size.var)
@@ -2448,8 +2448,6 @@ expand_call (exp, target, ignore)
       stack_pointer_delta = save_stack_pointer_delta;
     }
 
-  currently_expanding_call++;
-
   if (profile_arc_flag && (flags & ECF_FORK_OR_EXEC))
     {
       /* A fork duplicates the profile information, and an exec discards
This page took 0.089655 seconds and 5 git commands to generate.