aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorAaron Sawdey <acsawdey@linux.ibm.com>2019-10-02 14:23:51 +0000
committerAaron Sawdey <acsawdey@gcc.gnu.org>2019-10-02 09:23:51 -0500
commit03a9b90aa6df28dde083efd17e8b7ae76b943fe7 (patch)
treecf2c7debb8c890c231f2b9b46d142d78e10e2f4c /gcc/expr.h
parent629387a6586a753166f5cf53d587026a34362523 (diff)
downloadgcc-03a9b90aa6df28dde083efd17e8b7ae76b943fe7.zip
gcc-03a9b90aa6df28dde083efd17e8b7ae76b943fe7.tar.gz
gcc-03a9b90aa6df28dde083efd17e8b7ae76b943fe7.tar.bz2
builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm.
2019-10-02 Aaron Sawdey <acsawdey@linux.ibm.com> * builtins.c (expand_builtin_memory_copy_args): Add might_overlap parm. (expand_builtin_memcpy): Use might_overlap parm. (expand_builtin_mempcpy_args): Use might_overlap parm. (expand_builtin_memmove): Call expand_builtin_memory_copy_args. (expand_builtin_memory_copy_args): Add might_overlap parm. * expr.c (emit_block_move_via_cpymem): Rename to emit_block_move_via_pattern, add might_overlap parm, use cpymem or movmem optab as appropriate. (emit_block_move_hints): Add might_overlap parm, do the right thing for might_overlap==true. * expr.h (emit_block_move_hints): Update prototype. From-SVN: r276461
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 6eb70bf..17c9163 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -116,7 +116,8 @@ extern rtx emit_block_move_hints (rtx, rtx, rtx, enum block_op_methods,
unsigned HOST_WIDE_INT,
unsigned HOST_WIDE_INT,
bool bail_out_libcall = false,
- bool *is_move_done = NULL);
+ bool *is_move_done = NULL,
+ bool might_overlap = false);
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);