aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorChristoph Müllner <christoph.muellner@vrull.eu>2024-05-14 09:19:13 -0600
committerJeff Law <jlaw@ventanamicro.com>2024-05-14 09:19:13 -0600
commite6e41b68fd805ab126895a20bb9670442b198f62 (patch)
tree566f43981aa2c427456ae3aef6142c556473de96 /gcc/expr.cc
parentc1356e8cc9a8c869ab936c927b1812b4691265b6 (diff)
downloadgcc-e6e41b68fd805ab126895a20bb9670442b198f62.zip
gcc-e6e41b68fd805ab126895a20bb9670442b198f62.tar.gz
gcc-e6e41b68fd805ab126895a20bb9670442b198f62.tar.bz2
[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.
Diffstat (limited to 'gcc/expr.cc')
-rw-r--r--gcc/expr.cc6
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/expr.cc b/gcc/expr.cc
index 9f66d47..1baa39b 100644
--- a/gcc/expr.cc
+++ b/gcc/expr.cc
@@ -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)