aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-07-29 18:58:13 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-07-29 18:58:13 -0400
commit81d57b8e1d9a23be27a1b4affaa03bc6c82d4471 (patch)
treec17cec85ecafeaab8dd2aef5205797a40856e960
parentb8bb540c818b7f18805f5319574928c7760b94ec (diff)
downloadgcc-81d57b8e1d9a23be27a1b4affaa03bc6c82d4471.zip
gcc-81d57b8e1d9a23be27a1b4affaa03bc6c82d4471.tar.gz
gcc-81d57b8e1d9a23be27a1b4affaa03bc6c82d4471.tar.bz2
(copy_rtx_and_substitute, case LABEL_REF): If we turn off
LABEL_REF_NONLOCAL_P, increment function_call_count. From-SVN: r5040
-rw-r--r--gcc/integrate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 8529e4b..894a938 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -2052,6 +2052,14 @@ copy_rtx_and_substitute (orig, map)
= (LABEL_REF_NONLOCAL_P (orig)
&& ! (CODE_LABEL_NUMBER (XEXP (copy, 0)) >= get_first_label_num ()
&& CODE_LABEL_NUMBER (XEXP (copy, 0)) < max_label_num ()));
+
+ /* If we have made a nonlocal label local, it means that this
+ inlined call will be refering to our nonlocal goto handler.
+ So make sure we create one for this block; we normally would
+ not since this is not otherwise considered a "call". */
+ if (LABEL_REF_NONLOCAL_P (orig) && ! LABEL_REF_NONLOCAL_P (copy))
+ function_call_count++;
+
return copy;
case PC: