Commit 9e3c399e by Christian Bruel Committed by Christian Bruel

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
parent e938feb4
2010-02-10 Christian Bruel <christian.bruel@st.com> 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. * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
2010-02-10 Jakub Jelinek <jakub@redhat.com> 2010-02-10 Jakub Jelinek <jakub@redhat.com>
......
...@@ -4579,6 +4579,13 @@ find_barrier (int num_mova, rtx mova, rtx from) ...@@ -4579,6 +4579,13 @@ find_barrier (int num_mova, rtx mova, rtx from)
&& ! TARGET_SMALLCODE) && ! TARGET_SMALLCODE)
new_align = 4; 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) if (found_si)
{ {
count_si += inc; count_si += inc;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment