re PR middle-end/88129 (Two blockage insns are emited in the function epilogue)
authorUros Bizjak <ubizjak@gmail.com>
Wed, 21 Nov 2018 20:18:45 +0000 (21:18 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 21 Nov 2018 20:18:45 +0000 (21:18 +0100)
PR middle-end/88129
* function.c (expand_function_end): Do not emit extra blockage insn.

From-SVN: r266356

gcc/ChangeLog
gcc/function.c

index d789d9f..5e09cd6 100644 (file)
@@ -1,3 +1,8 @@
+2018-11-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/88129
+       * function.c (expand_function_end): Do not emit extra blockage insn.
+
 2018-11-21  Lokesh Janghel  <lokeshjanghel91@gmail.com>
 
        PR target/85667
index 954e946..85a5d9f 100644 (file)
@@ -5341,14 +5341,6 @@ expand_function_end (void)
       if (flag_exceptions)
        sjlj_emit_function_exit_after (get_last_insn ());
     }
-  else
-    {
-      /* We want to ensure that instructions that may trap are not
-        moved into the epilogue by scheduling, because we don't
-        always emit unwind information for the epilogue.  */
-      if (cfun->can_throw_non_call_exceptions)
-       emit_insn (gen_blockage ());
-    }
 
   /* If this is an implementation of throw, do what's necessary to
      communicate between __builtin_eh_return and the epilogue.  */