From: Richard Earnshaw Date: Wed, 11 Aug 1999 07:47:51 +0000 (+0000) Subject: emit-rtl.c (mark_reg_pointer): Don't increase the alignment of a register that is... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=00995e782e6dff70a39966c011afe8b53a7d3f28;p=gcc.git emit-rtl.c (mark_reg_pointer): Don't increase the alignment of a register that is already known to be a pointer. * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of a register that is already known to be a pointer. From-SVN: r28664 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2672f4b7db3..03b3c7c9c47 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-08-11 Richard Earnshaw (rearnsha@arm.com) + + * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of + a register that is already known to be a pointer. + 1999-08-11 Bruce Korb * fixinc/inclhack.tpl: Only install assert.h conditionally. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index cf05529ebbf..aa0b21e532e 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -570,9 +570,15 @@ mark_reg_pointer (reg, align) rtx reg; int align; { - REGNO_POINTER_FLAG (REGNO (reg)) = 1; + if (! REGNO_POINTER_FLAG (REGNO (reg))) + { + REGNO_POINTER_FLAG (REGNO (reg)) = 1; - if (align) + if (align) + REGNO_POINTER_ALIGN (REGNO (reg)) = align; + } + else if (align && align < REGNO_POINTER_ALIGN (REGNO (reg))) + /* We can no-longer be sure just how aligned this pointer is */ REGNO_POINTER_ALIGN (REGNO (reg)) = align; }