diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2000-03-30 13:46:05 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2000-03-30 08:46:05 -0500 |
commit | bdb429a5a1c6a4d93565277c658ddca7893905d0 (patch) | |
tree | 4604157a949437de045f5e4819a744fa071efad5 /gcc/expr.c | |
parent | 068feaa95538472dfdb0244ef4899a86e73db86e (diff) | |
download | gcc-bdb429a5a1c6a4d93565277c658ddca7893905d0.zip gcc-bdb429a5a1c6a4d93565277c658ddca7893905d0.tar.gz gcc-bdb429a5a1c6a4d93565277c658ddca7893905d0.tar.bz2 |
calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
* function.c (assign_parms): Likewise.
* integrate.c (expand_inline_function): Likewise.
* stmt.c (expand_decl): Likewise.
(copy_rtx_and_substitute): Likewise.
* expr.c (expand_expr, expand_expr_unaligned): Likewise.
(clear_by_pieces): Fix error in last change.
* emit-rtl.c (init_emit): Set known registers alignment in bits.
* function.h (regno_pointer_align): Now unsigned.
* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
is in bits.
* config/i386/i386.c (aligned_operand): Likewise.
* config/sparc/sparc.c (mem_min_alignment): Likewise.
* config/alpha/alpha.c (aligned_memory_operand): Likewise.
(unaligned_memory_operand): Likewise.
(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
Also make alignments and sizes unsigned and some whitespace cleanup.
(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
From-SVN: r32829
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -2291,7 +2291,7 @@ clear_by_pieces (to, len, align) if (! SLOW_UNALIGNED_ACCESS (word_mode, align) || align > MOVE_MAX * BITS_PER_UNIT || align >= BIGGEST_ALIGNMENT) - align = MOVE_MAX; + align = MOVE_MAX * BITS_PER_UNIT; /* First move what we can in the largest integer mode, then go to successively smaller modes. */ @@ -5973,8 +5973,7 @@ expand_expr (exp, target, tmode, modifier) if (temp != 0) { if (GET_CODE (temp) == MEM && GET_CODE (XEXP (temp, 0)) == REG) - mark_reg_pointer (XEXP (temp, 0), - DECL_ALIGN (exp) / BITS_PER_UNIT); + mark_reg_pointer (XEXP (temp, 0), DECL_ALIGN (exp)); return temp; } @@ -6801,7 +6800,7 @@ expand_expr (exp, target, tmode, modifier) op0 = validize_mem (op0); if (GET_CODE (op0) == MEM && GET_CODE (XEXP (op0, 0)) == REG) - mark_reg_pointer (XEXP (op0, 0), alignment / BITS_PER_UNIT); + mark_reg_pointer (XEXP (op0, 0), alignment); op0 = extract_bit_field (op0, bitsize, bitpos, unsignedp, target, ext_mode, ext_mode, @@ -6852,7 +6851,7 @@ expand_expr (exp, target, tmode, modifier) MEM_ALIAS_SET (op0) = get_alias_set (exp); if (GET_CODE (XEXP (op0, 0)) == REG) - mark_reg_pointer (XEXP (op0, 0), alignment / BITS_PER_UNIT); + mark_reg_pointer (XEXP (op0, 0), alignment); MEM_SET_IN_STRUCT_P (op0, 1); MEM_VOLATILE_P (op0) |= volatilep; @@ -8278,7 +8277,7 @@ expand_expr (exp, target, tmode, modifier) if (GET_CODE (op0) == REG && ! REG_USERVAR_P (op0)) - mark_reg_pointer (op0, TYPE_ALIGN (TREE_TYPE (type)) / BITS_PER_UNIT); + mark_reg_pointer (op0, TYPE_ALIGN (TREE_TYPE (type))); /* If we might have had a temp slot, add an equivalent address for it. */ @@ -8758,7 +8757,7 @@ expand_expr_unaligned (exp, palign) alignment >>= 1; if (GET_CODE (XEXP (op0, 0)) == REG) - mark_reg_pointer (XEXP (op0, 0), alignment / BITS_PER_UNIT); + mark_reg_pointer (XEXP (op0, 0), alignment); MEM_IN_STRUCT_P (op0) = 1; MEM_VOLATILE_P (op0) |= volatilep; |