builtins.c (fold_builtin_memcpy, [...]): New functions.
authorRoger Sayle <sayle@gcc.gnu.org>
Thu, 16 Oct 2003 02:36:48 +0000 (02:36 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Thu, 16 Oct 2003 02:36:48 +0000 (02:36 +0000)
commit5bb650ec1bfb9da5eef4e2da6348c42d916d247b
treeaca9996b3b9dc6d84bc947bea56b72d53bfd3e27
parent8725a9b49935c912618060e0762e2ff534973fc8
builtins.c (fold_builtin_memcpy, [...]): New functions.

* builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
New functions.
(expand_builtin_memcpy): Use integer_zerop instead of testing
host_integerp and tree_low_cst directly.  Move misapplied hunk
for optimization wher SRC and DEST point to the same location.
(expand_builtin_mempcpy): From here.
(expand_builtin_memmove): Use integer_zerop instead of testing
host_integerp and tree_low_cst_directly.
(expand_builtin_memset): Likewise.
(expand_builtin_memcmp): Likewise (and for integer_onep).
(expand_builtin_strncmp): Likewise.
(fold_builtin): Call the appropriate fold_builtin_foo functions
to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
strcmp and strncmp.

From-SVN: r72547
gcc/ChangeLog
gcc/builtins.c