diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-11-15 23:44:58 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-11-15 18:44:58 -0500 |
commit | a06ef755a376209a3c757786b3931671b72fc771 (patch) | |
tree | 105a983313e457a031de093d1916dbf3d53a97b4 /gcc/emit-rtl.c | |
parent | d215024f7f4211af4ede74781e12c5b3578be15f (diff) | |
download | gcc-a06ef755a376209a3c757786b3931671b72fc771.zip gcc-a06ef755a376209a3c757786b3931671b72fc771.tar.gz gcc-a06ef755a376209a3c757786b3931671b72fc771.tar.bz2 |
alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
* emit-rtl.c (change_address): Fix typo in default alignment.
(adjust_address_1): Use mode of NEW, not MODE, when setting size.
* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
* rtl.h (REGNO_PTR_FRAME_P): New macro.
* expr.c (store_field): Pass tree instead of max size; callers changed.
Change handling of alignment.
Only copy to_rtx if is TARGET.
(expand_expr_unaligned): Delete; callers now use expand_expr.
(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
(expand_assignment): Change handling of alignment.
Only copy to_rtx if was original.
(get_inner_reference): No longer return alginment; callers changed.
(expand_expr, case COMPONENT_REF): Change handling of alignment.
(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
(compare_from_rtx): Delete ALIGN parm; all callers changed.
(do_compare_rtx_and_jump): Likewise.
* expr.h: Reflect above changes.
* tree.h: Likewise.
* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
to get_inner_reference.
* except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns.
* explow.c: Likewise.
* loop.c: Likewise.
* optabs.c: Likewise.
(prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
* fold-const.c: Remove PALIGN in calls to get_inner_reference.
* function.c (assign_stack_temp_for_type): No longer static.
* optabs.h (emit_cmp_insn): Remove ALIGN parm.
(prepare_cmp_insn): Delete declaration.
* rtl.h (assign_stack_temp_for_type): Add declaration.
* config/d30v/d30v.c: Reflect above changes.
* config/i860/i860.c, config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
* ada/trans.c, ada/utils2.c: Remove PALIGN parameter to
get_inner_reference.
From-SVN: r47075
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 3729233f..9ad98f0 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1862,7 +1862,8 @@ change_address (memref, mode, addr) MEM_ATTRS (new) = get_mem_attrs (MEM_ALIAS_SET (memref), 0, 0, mmode == BLKmode ? 0 : GEN_INT (GET_MODE_SIZE (mmode)), - mmode == BLKmode ? 1 : GET_MODE_ALIGNMENT (mmode), + (mmode == BLKmode ? BITS_PER_UNIT + : GET_MODE_ALIGNMENT (mmode)), mmode); return new; @@ -1915,8 +1916,8 @@ adjust_address_1 (memref, mode, offset, validate, adjust) memalign = MIN (memalign, (offset & -offset) * BITS_PER_UNIT); /* We can compute the size in a number of ways. */ - if (mode != BLKmode) - size = GEN_INT (GET_MODE_SIZE (mode)); + if (GET_MODE (new) != BLKmode) + size = GEN_INT (GET_MODE_SIZE (GET_MODE (new))); else if (MEM_SIZE (memref)) size = plus_constant (MEM_SIZE (memref), -offset); |