diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-03-11 10:33:51 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-03-11 10:33:51 +0000 |
commit | 77008a445104fdb7ad734cedb38913bc92b4719b (patch) | |
tree | d60c2b6909c2c8c97361ef5c60eed551f4a8bf1b | |
parent | 283badc2c677ff45926217b0c3d8bf4f3a4dfeb5 (diff) | |
download | gcc-77008a445104fdb7ad734cedb38913bc92b4719b.zip gcc-77008a445104fdb7ad734cedb38913bc92b4719b.tar.gz gcc-77008a445104fdb7ad734cedb38913bc92b4719b.tar.bz2 |
sh.h (LOOP_ALIGN): Only align when optimizing.
* 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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 10 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 3 |
3 files changed, 17 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc7ae41..6e9438d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 21cfc36..9be63a4 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -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) { diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 9e59016..e0b05b6 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -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) \ ( \ |