mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-02 16:23:56 +08:00
[1/3] expr: Export clear_by_pieces()
Make clear_by_pieces() available to other parts of the compiler, similar to store_by_pieces(). gcc/ChangeLog: * expr.cc (clear_by_pieces): Remove static from clear_by_pieces. * expr.h (clear_by_pieces): Add prototype for clear_by_pieces.
This commit is contained in:
parent
c1356e8cc9
commit
e6e41b68fd
@ -85,7 +85,6 @@ static void emit_block_move_via_sized_loop (rtx, rtx, rtx, unsigned, unsigned);
|
||||
static void emit_block_move_via_oriented_loop (rtx, rtx, rtx, unsigned, unsigned);
|
||||
static rtx emit_block_cmp_via_loop (rtx, rtx, rtx, tree, rtx, bool,
|
||||
unsigned, unsigned);
|
||||
static void clear_by_pieces (rtx, unsigned HOST_WIDE_INT, unsigned int);
|
||||
static rtx_insn *compress_float_constant (rtx, rtx);
|
||||
static rtx get_subtarget (rtx);
|
||||
static rtx store_field (rtx, poly_int64, poly_int64, poly_uint64, poly_uint64,
|
||||
@ -1840,10 +1839,7 @@ store_by_pieces (rtx to, unsigned HOST_WIDE_INT len,
|
||||
return to;
|
||||
}
|
||||
|
||||
/* Generate several move instructions to clear LEN bytes of block TO. (A MEM
|
||||
rtx with BLKmode). ALIGN is maximum alignment we can assume. */
|
||||
|
||||
static void
|
||||
void
|
||||
clear_by_pieces (rtx to, unsigned HOST_WIDE_INT len, unsigned int align)
|
||||
{
|
||||
if (len == 0)
|
||||
|
@ -245,6 +245,11 @@ extern bool can_store_by_pieces (unsigned HOST_WIDE_INT,
|
||||
extern rtx store_by_pieces (rtx, unsigned HOST_WIDE_INT, by_pieces_constfn,
|
||||
void *, unsigned int, bool, memop_ret);
|
||||
|
||||
/* Generate several move instructions to clear LEN bytes of block TO. (A MEM
|
||||
rtx with BLKmode). ALIGN is maximum alignment we can assume. */
|
||||
|
||||
extern void clear_by_pieces (rtx, unsigned HOST_WIDE_INT, unsigned int);
|
||||
|
||||
/* If can_store_by_pieces passes for worst-case values near MAX_LEN, call
|
||||
store_by_pieces within conditionals so as to handle variable LEN efficiently,
|
||||
storing VAL, if non-NULL_RTX, or valc instead. */
|
||||
|
Loading…
Reference in New Issue
Block a user