diff options
author | Richard Henderson <rth@redhat.com> | 2001-08-22 01:13:00 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-08-22 01:13:00 -0700 |
commit | 687eccc06ebdf6db0905b1a7644a4a90c7e9d16a (patch) | |
tree | c48ed210d4debb17ebe815f015641f5ba78d46bd /gcc | |
parent | ba7129555a5586fd11078ea5dda7c6bc91971d73 (diff) | |
download | gcc-687eccc06ebdf6db0905b1a7644a4a90c7e9d16a.zip gcc-687eccc06ebdf6db0905b1a7644a4a90c7e9d16a.tar.gz gcc-687eccc06ebdf6db0905b1a7644a4a90c7e9d16a.tar.bz2 |
flow.c (flow_find_cross_jump): Don't consider unconditional return insns for commoning.
* flow.c (flow_find_cross_jump): Don't consider unconditional
return insns for commoning.
From-SVN: r45101
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/flow.c | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e8c7eea..6e5858d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2001-08-21 Richard Henderson <rth@redhat.com> + * flow.c (flow_find_cross_jump): Don't consider unconditional + return insns for commoning. + * final.c (compute_alignments): Fix typo. * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults. @@ -3484,10 +3484,12 @@ flow_find_cross_jump (mode, bb1, bb2, f1, f2) need to be compared for equivalence, which we'll do below. */ i1 = bb1->end; - if (onlyjump_p (i1)) + if (onlyjump_p (i1) + || (returnjump_p (i1) && !side_effects_p (PATTERN (i1)))) i1 = PREV_INSN (i1); i2 = bb2->end; - if (onlyjump_p (i2)) + if (onlyjump_p (i2) + || (returnjump_p (i2) && !side_effects_p (PATTERN (i2)))) i2 = PREV_INSN (i2); last1 = afterlast1 = last2 = afterlast2 = NULL_RTX; |