diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/sparc/sparc.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3bc6c5..cd24b1e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-03-21 Jakub Jelinek <jakub@redhat.com> + + * config/sparc/sparc.c (mem_min_alignment): If not optimizing, + we cannot be sure that if reload_completed base register will + be properly aligned. + 2000-03-21 Richard Henderson <rth@cygnus.com> * flow.c (delete_block): Fix typo last change. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index f7e0c22..5a9c87b 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -2825,9 +2825,11 @@ mem_min_alignment (mem, desired) { /* Check if the compiler has recorded some information about the alignment of the base REG. If reload has - completed, we already matched with proper alignments. */ + completed, we already matched with proper alignments. + If not running global_alloc, reload might give us + unaligned pointer to local stack though. */ if (((cfun != 0 && REGNO_POINTER_ALIGN (regno) >= desired) - || reload_completed) + || (optimize && reload_completed)) && ((INTVAL (offset) & (desired - 1)) == 0)) return 1; } |
