diff options
author | Martin Liska <mliska@suse.cz> | 2019-05-20 09:55:00 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2019-05-20 07:55:00 +0000 |
commit | db91c7cf3d97a169d4e1c463d87a9f2007c40761 (patch) | |
tree | 11aa3bde6da1520b48d1a2a0cbf8e580e67e0c11 /gcc/expr.h | |
parent | 03105885b1502a971955908255c722df5be0dafd (diff) | |
download | gcc-db91c7cf3d97a169d4e1c463d87a9f2007c40761.zip gcc-db91c7cf3d97a169d4e1c463d87a9f2007c40761.tar.gz gcc-db91c7cf3d97a169d4e1c463d87a9f2007c40761.tar.bz2 |
Come up with hook libc_has_fast_function (PR middle-end/90263).
2019-05-20 Martin Liska <mliska@suse.cz>
PR middle-end/90263
* builtins.c (expand_builtin_memory_copy_args): When having a
target with fast mempcpy implementation do now use memcpy.
* config/i386/i386.c (ix86_libc_has_fast_function): New.
(TARGET_LIBC_HAS_FAST_FUNCTION): Likewise.
* doc/tm.texi: Likewise.
* doc/tm.texi.in: Likewise.
* target.def:
* expr.c (emit_block_move_hints): Add 2 new arguments.
* expr.h (emit_block_move_hints): Bail out when libcall
to memcpy would be used.
2019-05-20 Martin Liska <mliska@suse.cz>
PR middle-end/90263
* gcc.c-torture/compile/pr90263.c: New test.
* lib/target-supports.exp: Add check_effective_target_glibc.
From-SVN: r271400
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -114,7 +114,9 @@ extern rtx emit_block_move_hints (rtx, rtx, rtx, enum block_op_methods, unsigned int, HOST_WIDE_INT, unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT, - unsigned HOST_WIDE_INT); + unsigned HOST_WIDE_INT, + bool bail_out_libcall = false, + bool *is_move_done = NULL); extern rtx emit_block_cmp_hints (rtx, rtx, rtx, tree, rtx, bool, by_pieces_constfn, void *); extern bool emit_storent_insn (rtx to, rtx from); |