diff options
author | Richard Earnshaw <rearnsha@arm.com> | 1999-08-11 07:47:51 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-08-11 01:47:51 -0600 |
commit | 00995e782e6dff70a39966c011afe8b53a7d3f28 (patch) | |
tree | 241f7721dd90f27d484d7c4fc7beb728c7db7c01 | |
parent | 67acfbd7b0194ead0c71f70d98bc98557d8d3728 (diff) | |
download | gcc-00995e782e6dff70a39966c011afe8b53a7d3f28.zip gcc-00995e782e6dff70a39966c011afe8b53a7d3f28.tar.gz gcc-00995e782e6dff70a39966c011afe8b53a7d3f28.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2672f4b..03b3c7c 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 <ddsinc09@ix.netcom.com> * fixinc/inclhack.tpl: Only install assert.h conditionally. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index cf05529..aa0b21e 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; } |