gcc/ 2016-07-21 Claudiu Zissulescu <claz...@synopsys.com> * config/arc/arc.c (arc_ccfsm_post_advance): Handle return instruction type. --- gcc/config/arc/arc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 7eadb3c..a033dd0 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -4251,9 +4251,8 @@ arc_ccfsm_post_advance (rtx_insn *insn, struct arc_ccfsm *state) && GET_CODE (PATTERN (insn)) != ADDR_VEC && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC && ((type = get_attr_type (insn)) == TYPE_BRANCH - || (type == TYPE_UNCOND_BRANCH - /* ??? Maybe should also handle TYPE_RETURN here, - but we don't have a testcase for that. */ + || ((type == TYPE_UNCOND_BRANCH + || type == TYPE_RETURN) && ARC_CCFSM_BRANCH_DELETED_P (state)))) { if (ARC_CCFSM_BRANCH_DELETED_P (state)) -- 1.9.1