aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2025-04-12 13:12:56 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2025-04-12 13:12:56 +0200
commit7e91bba6d53899689b00bd0c995b35f6586fcacd (patch)
tree495cf0fecf54a8510f2dbc2ae0ac794118cf8d3e
parent0562e17bd04b65aebff4721db05631b9f34af146 (diff)
downloadgcc-7e91bba6d53899689b00bd0c995b35f6586fcacd.zip
gcc-7e91bba6d53899689b00bd0c995b35f6586fcacd.tar.gz
gcc-7e91bba6d53899689b00bd0c995b35f6586fcacd.tar.bz2
tailc, expand: Small incremental tweak to tail call dump [PR119718]
Here is an optional incremental tweak to the previous patch. Instead of ./xgcc -B ./ -S -O2 -fdump-{tree-tailc,rtl-expand}-details pr119718.c ; grep -B1 '^\(;; \)\?Cannot tail-call:' pr119718.c.* pr119718.c.222t.tailc-_7 = bar (0); pr119718.c.222t.tailc:Cannot tail-call: call invocation refers to locals -- pr119718.c.270r.expand-;; foo (1, 2, 3, 4, 5, 6, 7) [tail call] pr119718.c.270r.expand:;; Cannot tail-call: callee required more stack slots than the caller this dumps ./xgcc -B ./ -S -O2 -fdump-{tree-tailc,rtl-expand}-details pr119718.c ; grep '^\(;; \)\?Cannot tail-call:' pr119718.c.* pr119718.c.222t.tailc:Cannot tail-call: call invocation refers to locals: _7 = bar (0); pr119718.c.270r.expand:;; Cannot tail-call: callee required more stack slots than the caller: foo (1, 2, 3, 4, 5, 6, 7) [tail call] 2025-04-12 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/119718 * tree-tailcall.cc (maybe_error_musttail): Dump the GIMPLE at the end of the Cannot tail-call line rather than on the line before it. * calls.cc (maybe_complain_about_tail_call): Dump the GENERIC at the end of the ;; Cannot tail-call line rather than on the line before it.
-rw-r--r--gcc/calls.cc4
-rw-r--r--gcc/tree-tailcall.cc2
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/calls.cc b/gcc/calls.cc
index dac9537..372fab3 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -1282,9 +1282,9 @@ maybe_complain_about_tail_call (tree call_expr, const char *reason)
&& dump_file
&& (dump_flags & TDF_DETAILS))
{
- fprintf (dump_file, ";; ");
+ fprintf (dump_file, ";; Cannot tail-call: %s: ", reason);
print_generic_expr (dump_file, call_expr, TDF_SLIM);
- fprintf (dump_file, "\n;; Cannot tail-call: %s\n", reason);
+ fprintf (dump_file, "\n");
}
}
diff --git a/gcc/tree-tailcall.cc b/gcc/tree-tailcall.cc
index 5949e08..d5c4c7b 100644
--- a/gcc/tree-tailcall.cc
+++ b/gcc/tree-tailcall.cc
@@ -494,8 +494,8 @@ maybe_error_musttail (gcall *call, const char *err, bool diag_musttail)
}
if (dump_file && (dump_flags & TDF_DETAILS))
{
+ fprintf (dump_file, "Cannot tail-call: %s: ", err);
print_gimple_stmt (dump_file, call, 0, TDF_SLIM);
- fprintf (dump_file, "Cannot tail-call: %s\n", err);
}
}