[gcc r11-3492] Revert recent changes to lower_try_finally_dup_block

Eric Botcazou ebotcazou@gcc.gnu.org
Mon Sep 28 07:32:39 GMT 2020


https://gcc.gnu.org/g:dabef758bfe23d847cb1e2de2d0c0a67a53dc56a

commit r11-3492-gdabef758bfe23d847cb1e2de2d0c0a67a53dc56a
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Mon Sep 28 08:39:25 2020 +0200

    Revert recent changes to lower_try_finally_dup_block
    
    This reverts the recent changes made to lower_try_finally_dup_block and
    aimed at tweaking the souce location info for __builtin_stack_restore.
    
    gcc/ChangeLog:
            * tree-eh.c (lower_try_finally_dup_block): Revert latest change.

Diff:
---
 gcc/tree-eh.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 1376b82c2af..c3314bbd78c 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -899,26 +899,18 @@ lower_try_finally_dup_block (gimple_seq seq, struct leh_state *outer_state,
   gtry *region = NULL;
   gimple_seq new_seq;
   gimple_stmt_iterator gsi;
-  location_t last_loc = UNKNOWN_LOCATION;
 
   new_seq = copy_gimple_seq_and_replace_locals (seq);
 
-  for (gsi = gsi_last (new_seq); !gsi_end_p (gsi); gsi_prev (&gsi))
+  for (gsi = gsi_start (new_seq); !gsi_end_p (gsi); gsi_next (&gsi))
     {
       gimple *stmt = gsi_stmt (gsi);
-      /* We duplicate __builtin_stack_restore at -O0 in the hope of eliminating
-	 it on the EH paths.  When it is not eliminated, give it the next
-	 location in the sequence or make it transparent in the debug info.  */
-      if (gimple_call_builtin_p (stmt, BUILT_IN_STACK_RESTORE))
-	gimple_set_location (stmt, last_loc);
-      else if (LOCATION_LOCUS (gimple_location (stmt)) == UNKNOWN_LOCATION)
+      if (LOCATION_LOCUS (gimple_location (stmt)) == UNKNOWN_LOCATION)
 	{
 	  tree block = gimple_block (stmt);
 	  gimple_set_location (stmt, loc);
 	  gimple_set_block (stmt, block);
 	}
-      else
-	last_loc = gimple_location (stmt);
     }
 
   if (outer_state->tf)


More information about the Gcc-cvs mailing list