Commit 53ea364f by Joern Rennecke Committed by Joern Rennecke

arc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH.

        * gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle
        TYPE_UNCOND_BRANCH.

From-SVN: r204024
parent 2ca4e2c2
2013-10-24 Joern Rennecke <joern.rennecke@embecosm.com>
* gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle
TYPE_UNCOND_BRANCH.
2013-08-24 Tobias Burnus <burnus@net-b.de> 2013-08-24 Tobias Burnus <burnus@net-b.de>
PR other/33426 PR other/33426
...@@ -3711,12 +3711,16 @@ arc_ccfsm_record_condition (rtx cond, bool reverse, rtx jump, ...@@ -3711,12 +3711,16 @@ arc_ccfsm_record_condition (rtx cond, bool reverse, rtx jump,
static void static void
arc_ccfsm_post_advance (rtx insn, struct arc_ccfsm *state) arc_ccfsm_post_advance (rtx insn, struct arc_ccfsm *state)
{ {
enum attr_type type;
if (LABEL_P (insn)) if (LABEL_P (insn))
arc_ccfsm_at_label ("L", CODE_LABEL_NUMBER (insn), state); arc_ccfsm_at_label ("L", CODE_LABEL_NUMBER (insn), state);
else if (JUMP_P (insn) else if (JUMP_P (insn)
&& GET_CODE (PATTERN (insn)) != ADDR_VEC && GET_CODE (PATTERN (insn)) != ADDR_VEC
&& GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC
&& get_attr_type (insn) == TYPE_BRANCH) && ((type = get_attr_type (insn)) == TYPE_BRANCH
|| (type == TYPE_UNCOND_BRANCH
&& ARC_CCFSM_BRANCH_DELETED_P (state))))
{ {
if (ARC_CCFSM_BRANCH_DELETED_P (state)) if (ARC_CCFSM_BRANCH_DELETED_P (state))
ARC_CCFSM_RECORD_BRANCH_DELETED (state); ARC_CCFSM_RECORD_BRANCH_DELETED (state);
...@@ -8120,6 +8124,7 @@ arc_ifcvt (void) ...@@ -8120,6 +8124,7 @@ arc_ifcvt (void)
basic_block succ_bb basic_block succ_bb
= BLOCK_FOR_INSN (NEXT_INSN (NEXT_INSN (PREV_INSN (insn)))); = BLOCK_FOR_INSN (NEXT_INSN (NEXT_INSN (PREV_INSN (insn))));
arc_ccfsm_post_advance (insn, statep); arc_ccfsm_post_advance (insn, statep);
gcc_assert (!IN_RANGE (statep->state, 1, 2));
rtx seq = NEXT_INSN (PREV_INSN (insn)); rtx seq = NEXT_INSN (PREV_INSN (insn));
if (seq != insn) if (seq != insn)
{ {
......
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