]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Display the number of components BB vectorized
authorRichard Biener <rguenther@suse.de>
Wed, 7 Jul 2021 09:45:43 +0000 (11:45 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 12 Jul 2021 10:18:37 +0000 (12:18 +0200)
This amends the optimization message printed when a basic-block
part is vectorized to mention the number of SLP graph entries.
This helps when debugging vectorization differences and we end up
merging SLP instances for costing purposes.

2021-07-07  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_slp_region): Show the number of
SLP graph entries in the optimization message.

* g++.dg/vect/slp-pr87105.cc: Adjust.
* gcc.dg/vect/bb-slp-pr54400.c: Likewise.

gcc/testsuite/g++.dg/vect/slp-pr87105.cc
gcc/testsuite/gcc.dg/vect/bb-slp-pr54400.c
gcc/tree-vect-slp.c

index d07b1cd46b7703e03f040a08f14d612e559a7569..451a117e2d285900c694139151e5a45267776f9f 100644 (file)
@@ -99,7 +99,7 @@ void quadBoundingBoxA(const Point bez[3], Box& bBox) noexcept {
 
 // We should have if-converted everything down to straight-line code
 // { dg-final { scan-tree-dump-times "<bb \[0-9\]+>" 1 "slp2" } }
-// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }
+// { dg-final { scan-tree-dump-times "optimized: basic block part" 1 "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }
 // It's a bit awkward to detect that all stores were vectorized but the
 // following more or less does the trick
 // { dg-final { scan-tree-dump "vect_\[^\r\m\]* = MIN" "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }
index 6b427aac774a0523c8ad85cf958f9c6b5c00aa9b..7c46fa0e4640ff670f9724a88664b2d250bd7dd6 100644 (file)
@@ -39,5 +39,5 @@ main ()
 }
 
 /* We are lacking an effective target for .REDUC_PLUS support.  */
-/* { dg-final { scan-tree-dump-times "basic block part vectorized" 3 "slp2" { target x86_64-*-* } } } */
+/* { dg-final { scan-tree-dump-times "optimized: basic block part" 3 "slp2" { target x86_64-*-* } } } */
 /* { dg-final { scan-tree-dump-not " = VEC_PERM_EXPR" "slp2" { target x86_64-*-* } } } */
index 5357cd0e7a4e4108bbd00bd3832de8c38b4792fb..cd002b3fb7c1b8d0092aedd4a90b9f2004154c13 100644 (file)
@@ -5827,12 +5827,16 @@ vect_slp_region (vec<basic_block> bbs, vec<data_reference_p> datarefs,
                  if (GET_MODE_SIZE
                        (bb_vinfo->vector_mode).is_constant (&bytes))
                    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
-                                    "basic block part vectorized using %wu "
-                                    "byte vectors\n", bytes);
+                                    "basic block part with %u components "
+                                    "vectorized using %wu byte vectors\n",
+                                    instance->subgraph_entries.length (),
+                                    bytes);
                  else
                    dump_printf_loc (MSG_OPTIMIZED_LOCATIONS, vect_location,
-                                    "basic block part vectorized using "
-                                    "variable length vectors\n");
+                                    "basic block part with %u components "
+                                    "vectorized using variable length "
+                                    "vectors\n",
+                                    instance->subgraph_entries.length ());
                }
            }
        }