explow: Avoid unnecessary alignment operations

align_dynamic_address would output alignment operations even
for a required alignment of 1 byte.

gcc/
	* explow.cc (align_dynamic_address): Do nothing if the required
	alignment is a byte.
This commit is contained in:
Richard Sandiford 2023-11-06 10:49:59 +00:00
parent a7a45364dd
commit 89abbaa5fb

View File

@ -1201,6 +1201,9 @@ record_new_stack_level (void)
rtx
align_dynamic_address (rtx target, unsigned required_align)
{
if (required_align == BITS_PER_UNIT)
return target;
/* CEIL_DIV_EXPR needs to worry about the addition overflowing,
but we know it can't. So add ourselves and then do
TRUNC_DIV_EXPR. */