diff options
author | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-05 10:04:44 +0000 |
---|---|---|
committer | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-05 10:04:44 +0000 |
commit | e1ebb662f80a3b2555e0d071140badaa0ac1e009 (patch) | |
tree | efebfadb72641a3bc09407f8a2fef2b8cdf0f672 /gcc/cfgcleanup.c | |
parent | e8911909d4e9e9c34f105aa2987608e33ba12829 (diff) | |
download | gcc-e1ebb662f80a3b2555e0d071140badaa0ac1e009.tar.gz |
2011-04-05 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171976 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 6178b59a7c4..112cb4907b4 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -1070,6 +1070,7 @@ flow_find_cross_jump (basic_block bb1, basic_block bb2, rtx *f1, rtx *f2) { rtx i1, i2, last1, last2, afterlast1, afterlast2; int ninsns = 0; + rtx p1; /* Skip simple jumps at the end of the blocks. Complex jumps still need to be compared for equivalence, which we'll do below. */ @@ -1118,7 +1119,9 @@ flow_find_cross_jump (basic_block bb1, basic_block bb2, rtx *f1, rtx *f2) afterlast1 = last1, afterlast2 = last2; last1 = i1, last2 = i2; - ninsns++; + p1 = PATTERN (i1); + if (!(GET_CODE (p1) == USE || GET_CODE (p1) == CLOBBER)) + ninsns++; } i1 = PREV_INSN (i1); |