diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 573cb92..59683bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * emit-rtl.c (set_mem_attributes): Get alignments for constants. + 2001-11-09 Aldy Hernandez <aldyh@redhat.com> * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 9bbaee4..9242e79 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1736,6 +1736,15 @@ set_mem_attributes (ref, t, objectp) /* If this is an INDIRECT_REF, we know its alignment. */ else if (TREE_CODE (t) == INDIRECT_REF) align = TYPE_ALIGN (type); + + /* Likewise for constants. */ + else if (TREE_CODE_CLASS (TREE_CODE (t)) == 'c') + { + align = TYPE_ALIGN (type); +#ifdef CONSTANT_ALIGNMENT + align = CONSTANT_ALIGNMENT (t, align); +#endif + } } /* Now set the attributes we computed above. */ |