sh.c (find_barrier): Increase length for non delayed conditional branches.

* config/sh/sh.c (find_barrier): Increase length for non delayed
conditional branches.

From-SVN: r156649
This commit is contained in:
Christian Bruel 2010-02-10 11:09:31 +01:00 committed by Christian Bruel
parent e938feb428
commit 9e3c399e02
2 changed files with 13 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-02-10 Christian Bruel <christian.bruel@st.com>
PR target/42841
* config/sh/sh.c (find_barrier): Increase length for non delayed
conditional branches.
2010-02-10 Christian Bruel <christian.bruel@st.com>
* config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.

View File

@ -4579,6 +4579,13 @@ find_barrier (int num_mova, rtx mova, rtx from)
&& ! TARGET_SMALLCODE)
new_align = 4;
/* There is a possibility that a bf is transformed into a bf/s by the
delay slot scheduler. */
if (JUMP_P (from) && !JUMP_TABLE_DATA_P (from)
&& get_attr_type (from) == TYPE_CBRANCH
&& GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (from)))) != SEQUENCE)
inc += 2;
if (found_si)
{
count_si += inc;