aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ChangeLog
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2016-09-28 11:06:41 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2016-09-28 11:06:41 +0000
commit912d9ec300f1f1262b1ab09798304d0c99ff5778 (patch)
tree3c170771d3f815d96a6d0ba133a16b9fe28bc717 /gcc/testsuite/ChangeLog
parent1b4be62ad3e153d2e4eda115698cbf33fca09781 (diff)
downloadgcc-912d9ec300f1f1262b1ab09798304d0c99ff5778.zip
gcc-912d9ec300f1f1262b1ab09798304d0c99ff5778.tar.gz
gcc-912d9ec300f1f1262b1ab09798304d0c99ff5778.tar.bz2
Optimize strchr (s, 0) to s + strlen (s).
Optimize strchr (s, 0) to s + strlen (s). strchr (s, 0) appears a common idiom for finding the end of a string, however it is not a very efficient way of doing so. Strlen is a much simpler operation which is significantly faster (eg. on x86 strlen is 50% faster for strings of 8 bytes and about twice as fast as strchr on strings of 1KB). gcc/ * gimple-fold.c (gimple_fold_builtin_strchr): New function to optimize strchr (s, 0) to strlen. (gimple_fold_builtin): Add BUILT_IN_STRCHR case. testsuite/ * gcc.dg/strlenopt-20.c: Update test. * gcc.dg/strlenopt-21.c: Likewise. * gcc.dg/strlenopt-22.c: Likewise. * gcc.dg/strlenopt-22g.c: Likewise. * gcc.dg/strlenopt-26.c: Likewise. * gcc.dg/strlenopt-5.c: Likewise. * gcc.dg/strlenopt-7.c: Likewise. * gcc.dg/strlenopt-9.c: Likewise. From-SVN: r240568
Diffstat (limited to 'gcc/testsuite/ChangeLog')
-rw-r--r--gcc/testsuite/ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3de855f..0642e23 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2016-09-28 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * gcc.dg/strlenopt-20.c: Update test.
+ * gcc.dg/strlenopt-21.c: Likewise.
+ * gcc.dg/strlenopt-22.c: Likewise.
+ * gcc.dg/strlenopt-22g.c: Likewise.
+ * gcc.dg/strlenopt-26.c: Likewise.
+ * gcc.dg/strlenopt-5.c: Likewise.
+ * gcc.dg/strlenopt-7.c: Likewise.
+ * gcc.dg/strlenopt-9.c: Likewise.
+
2016-09-27 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/feat-cxx1z.C: Add __cpp_capture_star_this test.