sh.h (LOOP_ALIGN): Only align when optimizing.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Wed, 11 Mar 1998 10:33:51 +0000 (10:33 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 11 Mar 1998 10:33:51 +0000 (10:33 +0000)
* sh.h (LOOP_ALIGN): Only align when optimizing.
* sh.c (find_barrier): Clear inc for CODE_LABELs.
When not optimizing, calculate alignment for BARRIERs directly.

From-SVN: r18473

gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h

index fc7ae4113a6721377642ea2ccb155fd54d91e530..6e9438d8a7d4e073b6fc8b383fc31a0ffa41b749 100644 (file)
@@ -1,3 +1,9 @@
+Wed Mar 11 18:26:25 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (LOOP_ALIGN): Only align when optimizing.
+       * sh.c (find_barrier): Clear inc for CODE_LABELs.
+       When not optimizing, calculate alignment for BARRIERs directly.
+
 Wed Mar 11 15:07:18 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * final.c (shorten_branches): Remove conditionalizing on
index 21cfc36e06c1819db7d4dc4d9b8d1a4e214c66cc..9be63a4e59b5dd5d0ed1911de0a87a853a070d84 100644 (file)
@@ -1908,7 +1908,15 @@ find_barrier (num_mova, mova, from)
       int new_align = 1;
 
       if (GET_CODE (from) == CODE_LABEL)
-       new_align = optimize ? 1 << label_to_alignment (from) : 1;
+       {
+         if (optimize)
+           new_align = 1 << label_to_alignment (from);
+         else if (GET_CODE (prev_nonnote_insn (from)) == BARRIER)
+           new_align = 1 << barrier_align (from);
+         else
+           new_align = 1;
+         inc = 0;
+       }
 
       if (GET_CODE (from) == BARRIER)
        {
index 9e590162ed8c4d39ddd3a6c96a9394fc5357ccf5..e0b05b68ea926da003622050575ad3ef76366ece 100644 (file)
@@ -270,7 +270,8 @@ do {                                                                \
 #define LABEL_ALIGN_AFTER_BARRIER(LABEL_AFTER_BARRIER) \
   barrier_align (LABEL_AFTER_BARRIER)
 
-#define LOOP_ALIGN(A_LABEL) (TARGET_SMALLCODE ? 0 : 2)
+#define LOOP_ALIGN(A_LABEL) \
+  ((! optimize || TARGET_SMALLCODE) ? 0 : 2)
 
 #define LABEL_ALIGN(A_LABEL) \
 (                                                                      \