diff options
author | Jakub Jelinek <jakub@redhat.com> | 2025-04-12 13:12:56 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2025-04-12 13:12:56 +0200 |
commit | 7e91bba6d53899689b00bd0c995b35f6586fcacd (patch) | |
tree | 495cf0fecf54a8510f2dbc2ae0ac794118cf8d3e | |
parent | 0562e17bd04b65aebff4721db05631b9f34af146 (diff) | |
download | gcc-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.cc | 4 | ||||
-rw-r--r-- | gcc/tree-tailcall.cc | 2 |
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); } } |