diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-11 07:28:52 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-11 07:28:52 +0000 |
commit | 54eff2ec6bfb8d89bf294693d882c11372e490b2 (patch) | |
tree | ee75317231058e1f4e56609b748187c3dbee5176 /gcc | |
parent | a6eeac82e449103250c4775a94a44243af461538 (diff) |
* emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
a register that is already known to be a pointer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-2_95-branch@28662 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 10 |
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2fc1aae418..de9d9d735e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -1999-08-01 Bruce Korb <ddsinc09@ix.netcom.com> +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. * fixinc/inclhack.sh: Regenerated. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 4519a23b5af..36b030ae7b6 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -630,9 +630,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; } |