Something I've noticed during working on the crc wrong-code fix.
My first version of the patch failed because of no longer matching some
expected strings in the assembly, so I had to add TDF_DETAILS debugging
into the -fdump-rtl-expand-details dump which the crc tests can use.
For PR115910 Andrew has added similar note for the division/modulo case
if it is positive and we can choose either unsigned or signed
division. The problem is that unlike most other TDF_DETAILS diagnostics,
this is not done before emitting the IL for the function, but during it.
Other messages there are prefixed with ;;, both details on what it is doing
and the GIMPLE IL for which it expands RTL, so the
;; Generating RTL for gimple basic block 4
;;
(code_label 13 12 14 2 (nil) [0 uses])
(note 14 13 0 NOTE_INSN_BASIC_BLOCK)
positive division: unsigned cost: 30; signed cost: 28
;; return _4;
message in between just looks weird and IMHO should be ;; prefixed.
2025-01-13 Jakub Jelinek <jakub@redhat.com>
PR target/115910
* expr.cc (expand_expr_divmod): Prefix the TDF_DETAILS note with
";; " and add a space before (needed tie breaker). Formatting fixes.
}
if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf(dump_file, "positive division:%s unsigned cost: %u; "
- "signed cost: %u\n", was_tie ? "(needed tie breaker)" : "",
- uns_cost, sgn_cost);
+ fprintf (dump_file, ";; positive division:%s unsigned cost: %u; "
+ "signed cost: %u\n",
+ was_tie ? " (needed tie breaker)" : "", uns_cost, sgn_cost);
if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp))
{