aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2000-03-22 08:58:53 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2000-03-22 08:58:53 +0100
commit021e2ecc828d414a5fcd36ae52bcf1e157c2fcfb (patch)
treee0acda46287a4d17c3004e9588f96634a55b0abe
parent1fa4609a03a54f4090e2c7a1624e8c07afbcb89b (diff)
downloadgcc-021e2ecc828d414a5fcd36ae52bcf1e157c2fcfb.zip
gcc-021e2ecc828d414a5fcd36ae52bcf1e157c2fcfb.tar.gz
gcc-021e2ecc828d414a5fcd36ae52bcf1e157c2fcfb.tar.bz2
sparc.c (mem_min_alignment): If not optimizing...
* config/sparc/sparc.c (mem_min_alignment): If not optimizing, we cannot be sure that if reload_completed base register will be properly aligned. From-SVN: r32682
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.c6
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;
}