[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2022-05-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Richard Biener  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
   Target Milestone|9.5 |9.0
 Resolution|--- |FIXED

--- Comment #13 from Richard Biener  ---
Fixed for GCC 9.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2021-06-01 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|9.4 |9.5

--- Comment #12 from Richard Biener  ---
GCC 9.4 is being released, retargeting bugs to GCC 9.5.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2020-03-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|9.3 |9.4

--- Comment #11 from Jakub Jelinek  ---
GCC 9.3.0 has been released, adjusting target milestone.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2019-08-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|9.2 |9.3

--- Comment #10 from Jakub Jelinek  ---
GCC 9.2 has been released.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2019-05-03 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|9.0 |9.2

--- Comment #9 from Jakub Jelinek  ---
GCC 9.1 has been released.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-22 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

--- Comment #8 from Uroš Bizjak  ---
(In reply to Uroš Bizjak from comment #7)
> Let's keep the PR open for the eventual removal of the remaining blockage
> instruction for targets that emit unwind information in the epilogue.
FTR, the following patch works OK on x86_64-linux-gnu (bootstrap + regression
test of all default languages, obj-c++ and go):

Index: function.c
===
--- function.c  (revision 266278)
+++ function.c  (working copy)
@@ -5447,13 +5447,6 @@ expand_function_end (void)
   if (naked_return_label)
 emit_label (naked_return_label);

-  /* @@@ This is a kludge.  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
-  && targetm_common.except_unwind_info (_options) != UI_SJLJ)
-emit_insn (gen_blockage ());
-
   /* If stack protection is enabled for this function, check the guard.  */
   if (crtl->stack_protect_guard && targetm.stack_protect_runtime_enabled_p ())
 stack_protect_epilogue ();

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Uroš Bizjak  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

--- Comment #7 from Uroš Bizjak  ---
(In reply to Uroš Bizjak from comment #6)
> Fixed for gcc-9.0, no plan to backport.

Let's keep the PR open for the eventual removal of the remaining blockage
instruction for targets that emit unwind information in the epilogue.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Uroš Bizjak  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #6 from Uroš Bizjak  ---
Fixed for gcc-9.0, no plan to backport.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread uros at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

--- Comment #5 from uros at gcc dot gnu.org ---
Author: uros
Date: Wed Nov 21 20:18:45 2018
New Revision: 266356

URL: https://gcc.gnu.org/viewcvs?rev=266356=gcc=rev
Log:
PR middle-end/88129
* function.c (expand_function_end): Do not emit extra blockage insn.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/function.c

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

--- Comment #4 from Eric Botcazou  ---
> Looking at the kludge, which say:
> 
>   /* @@@ This is a kludge.  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.  */
> 
> do we need the blockage at all for targets that emit unwind information in
> the epilogue?

Probably not indeed.  The two-pronged goal should be: 1) remove or understand
the first blockage 2) remove the blockage(s) for targets that emit unwind
information in the epilogue.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

--- Comment #3 from rguenther at suse dot de  ---
On Wed, 21 Nov 2018, ubizjak at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129
> 
> Uroš Bizjak  changed:
> 
>What|Removed |Added
> 
>  CC||ebotcazou at gcc dot gnu.org
> 
> --- Comment #2 from Uroš Bizjak  ---
> (In reply to Richard Biener from comment #1)
> > So simply undo the DF merge error?
> 
> Eric (CC'd) said elsewhere that the additional blockage might be needed for 
> DF.

I'd doubt that, it does look like a simple merge oversight.  I'd say
remove it now, there's plenty of time to re-instantiate it if it
breaks sth.

On trunk only of course.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Uroš Bizjak  changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu.org

--- Comment #2 from Uroš Bizjak  ---
(In reply to Richard Biener from comment #1)
> So simply undo the DF merge error?

Eric (CC'd) said elsewhere that the additional blockage might be needed for DF.

[Bug middle-end/88129] Two blockage insns are emited in the function epilogue

2018-11-21 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88129

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-11-21
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
So simply undo the DF merge error?