Print the type of alias check in a dump message
authorRichard Sandiford <richard.sandiford@arm.com>
Sat, 16 Nov 2019 11:42:53 +0000 (11:42 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 16 Nov 2019 11:42:53 +0000 (11:42 +0000)
This patch prints a message to say how an alias check is being
implemented.

2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-data-ref.c (create_intersect_range_checks_index)
(create_intersect_range_checks): Print dump messages.

gcc/testsuite/
* gcc.dg/vect/vect-alias-check-1.c: Test for the type of alias check.
* gcc.dg/vect/vect-alias-check-8.c: Likewise.
* gcc.dg/vect/vect-alias-check-9.c: Likewise.
* gcc.dg/vect/vect-alias-check-10.c: Likewise.
* gcc.dg/vect/vect-alias-check-11.c: Likewise.
* gcc.dg/vect/vect-alias-check-12.c: Likewise.
* gcc.dg/vect/vect-alias-check-13.c: Likewise.
* gcc.dg/vect/vect-alias-check-14.c: Likewise.
* gcc.dg/vect/vect-alias-check-15.c: Likewise.
* gcc.dg/vect/vect-alias-check-16.c: Likewise.
* gcc.dg/vect/vect-alias-check-17.c: Likewise.

From-SVN: r278353

14 files changed:
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-10.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-11.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-12.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-13.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-14.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-15.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-16.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-17.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-8.c
gcc/testsuite/gcc.dg/vect/vect-alias-check-9.c
gcc/tree-data-ref.c

index 31b5afce86f31f56239067435ac3119e003cae83..c194a0aa58c597379da72ffb88ac3f72e4486d99 100644 (file)
@@ -1,3 +1,8 @@
+2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-data-ref.c (create_intersect_range_checks_index)
+       (create_intersect_range_checks): Print dump messages.
+
 2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
 
        * tree-data-ref.c (dump_alias_pair): New function.
index eb6060c8e923afbe5c21eaba8b46f3a3ec8e49d2..c701507ec3e7001bc7b97523673c19caf8bf734c 100644 (file)
@@ -1,3 +1,17 @@
+2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc.dg/vect/vect-alias-check-1.c: Test for the type of alias check.
+       * gcc.dg/vect/vect-alias-check-8.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-9.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-10.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-11.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-12.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-13.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-14.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-15.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-16.c: Likewise.
+       * gcc.dg/vect/vect-alias-check-17.c: Likewise.
+
 2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>
 
        * gcc.dg/vect/vect-alias-check-8.c: Test for the RAW flag.
index c2b1c7730470ebc5983f78bfbae17c95cb035aaa..3887120b747a3f77363682c0ffe22a52b2e7b06a 100644 (file)
@@ -15,3 +15,5 @@ fn1 ()
 }
 
 /* { dg-final { scan-tree-dump "improved number of alias checks from \[0-9\]* to 1" "vect" } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 0e6285e4a23fe36f48227b1e838fc85144ee2509..b6cc309dbe87b088c9969e07dea03c7f6b5993dd 100644 (file)
@@ -65,3 +65,6 @@ main (void)
   FOR_EACH_TYPE (DO_TEST)
   return 0;
 }
+
+/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index a0d5abc3aa4c9ecf09b0a31ec3f54d773f7b8f13..09a4ebfa69e867869adca3bb5daece02fcee93da 100644 (file)
@@ -95,3 +95,6 @@ main (void)
 /* { dg-final { scan-tree-dump {no alias between [^\n]* when [^\n]* step[^ ]* \* 8[)]* is outside \(-24, 24\)} "vect" { target vect_double } } } */
 /* { dg-final { scan-tree-dump {no alias between [^\n]* when [^\n]* step[^ ]* \* 8[)]* is outside \(-32, 32\)} "vect" { target vect_double } } } */
 /* { dg-final { scan-tree-dump {run-time check [^\n]* abs \([^*]* \* 8[)]* >= 32} "vect" { target vect_double } } } */
+
+/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 788cdfc3cdcc871944b775ee02eef0df1ae313d2..63a897f4bad4894a6ec4b2ff8749eed3f9e33782 100644 (file)
@@ -95,3 +95,6 @@ main (void)
 /* { dg-final { scan-tree-dump {no alias between [^\n]* when [^\n]* [_a-z][^ ]* \* 8[)]* is outside \[0, 24\)} "vect" { target vect_double } } } */
 /* { dg-final { scan-tree-dump {no alias between [^\n]* when [^\n]* [_a-z][^ ]* \* 8[)]* is outside \[0, 32\)} "vect" { target vect_double } } } */
 /* { dg-final { scan-tree-dump {run-time check [^\n]* unsigned \([^*]* \* 8[)]* >= 32} "vect" { target vect_double } } } */
+
+/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 60bc473072470acc94580b58ed1ef5db92b1b3aa..812aa9027dd8cc9c8a566c9f74f6008e48fa7dc6 100644 (file)
@@ -18,4 +18,6 @@ f2 (int *x, long step2, int n)
 
 /* { dg-final { scan-tree-dump {need run-time check that [^\n]*step1[^\n]* is nonzero} "vect" } } */
 /* { dg-final { scan-tree-dump-not {need run-time check that [^\n]*step2[^\n]* is nonzero} "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
 /* { dg-final { scan-tree-dump-times {LOOP VECTORIZED} 2 "vect" } } */
index 35b16b70b91e33ef90d44e5584acc643ba9dacb4..87045c92424c4d021740a73c4b43897697dcdbd3 100644 (file)
@@ -60,3 +60,5 @@ main (void)
 
 /* { dg-final { scan-tree-dump {flags: *WAR\n} "vect" { target vect_int } } } */
 /* { dg-final { scan-tree-dump-not {flags: [^\n]*ARBITRARY\n} "vect" } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index d868c43130fcf00d79ac19fd89d4780574bfbfab..ad8d69e2fe0ebb28ab1a4e589d5e39fdcda93e47 100644 (file)
@@ -57,3 +57,5 @@ main (void)
 }
 
 /* { dg-final { scan-tree-dump {flags: *WAW\n} "vect" { target vect_int } } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 97ab77e725775089d990f890e7c45305ec6f1082..81c252dfc23e6e9bc279dcb08ff054a3c55a38ce 100644 (file)
@@ -62,3 +62,5 @@ main (void)
 }
 
 /* { dg-final { scan-tree-dump {flags: *RAW\n} "vect" { target vect_int } } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 0c8bec3c5e3f0f2b085c4ec27464df14fd5d87dc..c49c497c2d03d2472a54cca2fc58c9d7b60a53a7 100644 (file)
@@ -11,3 +11,5 @@ f (struct s *s1, int a, int b)
 }
 
 /* { dg-final { scan-tree-dump {flags: *[^\n]*MIXED_STEPS} "vect" } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index df1969850ecc9f24f55902511d4f841e5b189104..6cd0219495c9369811d0e0f0a4084596eb84efe8 100644 (file)
@@ -60,3 +60,5 @@ main (void)
 }
 
 /* { dg-final { scan-tree-dump {flags: *WAR\n} "vect" { target vect_int } } } */
+/* { dg-final { scan-tree-dump "using an index-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an address-based" "vect" } } */
index f771462c6b9a9ba28f5e5f300dd8c3d9c9bc3afa..a7fc1fcebbb2679fbe6a98c6fa340edcde492ba9 100644 (file)
@@ -53,3 +53,5 @@ main (void)
 }
 
 /* { dg-final { scan-tree-dump {flags: [^\n]*ARBITRARY\n} "vect" { target vect_int } } } */
+/* { dg-final { scan-tree-dump "using an address-based overlap test" "vect" } } */
+/* { dg-final { scan-tree-dump-not "using an index-based" "vect" } } */
index 7fc401f2a59dc858c32d5e7c16d51cc6522a9759..527cb5eca9c76efe358b3b19ff865f9a228d427b 100644 (file)
@@ -1889,6 +1889,8 @@ create_intersect_range_checks_index (class loop *loop, tree *cond_expr,
       else
        *cond_expr = part_cond_expr;
     }
+  if (dump_enabled_p ())
+    dump_printf (MSG_NOTE, "using an index-based overlap test\n");
   return true;
 }
 
@@ -2036,6 +2038,8 @@ create_intersect_range_checks (class loop *loop, tree *cond_expr,
     = fold_build2 (TRUTH_OR_EXPR, boolean_type_node,
        fold_build2 (cmp_code, boolean_type_node, seg_a_max, seg_b_min),
        fold_build2 (cmp_code, boolean_type_node, seg_b_max, seg_a_min));
+  if (dump_enabled_p ())
+    dump_printf (MSG_NOTE, "using an address-based overlap test\n");
 }
 
 /* Create a conditional expression that represents the run-time checks for