From: claziss <claz...@synopsys.com>

Short branches cannot be used to jump between hot/cold
sections. Update the hook.

gcc/
2017-04-26  Claudiu Zissulescu  <claz...@synopsys.com>

        * config/arc/arc.c (arc_can_follow_jump): Check for short
        branches.
---
 gcc/config/arc/arc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index cf52df8..3980a0f 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -9941,6 +9941,9 @@ arc_can_follow_jump (const rtx_insn *follower, const 
rtx_insn *followee)
   if (CROSSING_JUMP_P (followee))
     switch (get_attr_type (u.r))
       {
+      case TYPE_BRANCH:
+       if (get_attr_length (u.r) != 2)
+         break;
       case TYPE_BRCC:
       case TYPE_BRCC_NO_DELAY_SLOT:
        return false;
-- 
1.9.1

Reply via email to