]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert recent changes to lower_try_finally_dup_block
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 28 Sep 2020 06:39:25 +0000 (08:39 +0200)
committerEric Botcazou <ebotcazou@adacore.com>
Mon, 28 Sep 2020 07:32:27 +0000 (09:32 +0200)
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.

gcc/tree-eh.c

index 1376b82c2af221acb508abde3c6a4a01f996f8cb..c3314bbd78ca8b799074fc8d5289e7596405b290 100644 (file)
@@ -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)