]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix up dump_printf_loc format attribute and adjust uses [PR106782]
authorJakub Jelinek <jakub@redhat.com>
Thu, 1 Sep 2022 09:07:44 +0000 (11:07 +0200)
committerJakub Jelinek <jakub@redhat.com>
Thu, 1 Sep 2022 09:38:46 +0000 (11:38 +0200)
As discussed on IRC, the r13-2299-g68c61c2daa1f bug only got missed
because dump_printf_loc had incorrect format attribute and therefore
almost no -Wformat=* checking was performed on it.
3, 0 are suitable for function with (whatever, whatever, const char *, va_list)
arguments, not for (whatever, whatever, const char *, ...), that one should
use 3, 4.

There are 3 spots where the mismatch was worse though, two using %u or %d
for unsigned HOST_WIDE_INT argument and one %T for enum argument (promoted
to int) and this backport just fixes those spots.

2022-09-01  Jakub Jelinek  <jakub@redhat.com>

PR other/106782
* tree-vect-slp.cc (vect_print_slp_tree): Use
HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
* tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
instead of SLP_TREE_DEF_TYPE (node).

(cherry picked from commit 953e08fde44a596e4ec2491efd15cd645e1ddc48)

gcc/tree-vect-loop.cc
gcc/tree-vect-slp-patterns.cc
gcc/tree-vect-slp.cc

index aed14e9b686aaf714ae52d270b872c8af35da6e2..d1c19ce23faac5a10c23a648282f38002f12b16b 100644 (file)
@@ -4287,7 +4287,8 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo,
       if (dump_enabled_p ())
        dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
                         "can't unroll as unrolled vectorization factor larger"
-                        " than maximum vectorization factor: %d\n",
+                        " than maximum vectorization factor: "
+                        HOST_WIDE_INT_PRINT_UNSIGNED "\n",
                         LOOP_VINFO_MAX_VECT_FACTOR (loop_vinfo));
       *suggested_unroll_factor = 1;
     }
index 879d17fd947c47a75f480846f97ea631dc55f123..4b6384d7e25a31b2983dd19ac7b99a7c6434ec28 100644 (file)
@@ -96,8 +96,8 @@ vect_pattern_validate_optab (internal_fn ifn, slp_tree node)
         {
          if (!vectype)
            dump_printf_loc (MSG_NOTE, vect_location,
-                            "Target does not support vector type for %T\n",
-                            SLP_TREE_DEF_TYPE (node));
+                            "Target does not support vector type for %G\n",
+                            STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node)));
          else
            dump_printf_loc (MSG_NOTE, vect_location,
                             "Target does not support %s for vector type "
index 0d400c00df1c3c6e78ef7c99093fec66a885a98e..b89a417711b51841ddb682d1f992ec88e72392c6 100644 (file)
@@ -2468,7 +2468,9 @@ vect_print_slp_tree (dump_flags_t dump_kind, dump_location_t loc,
 
   dump_metadata_t metadata (dump_kind, loc.get_impl_location ());
   dump_user_location_t user_loc = loc.get_user_location ();
-  dump_printf_loc (metadata, user_loc, "node%s %p (max_nunits=%u, refcnt=%u)",
+  dump_printf_loc (metadata, user_loc,
+                  "node%s %p (max_nunits=" HOST_WIDE_INT_PRINT_UNSIGNED
+                  ", refcnt=%u)",
                   SLP_TREE_DEF_TYPE (node) == vect_external_def
                   ? " (external)"
                   : (SLP_TREE_DEF_TYPE (node) == vect_constant_def