From: Eric Botcazou Date: Mon, 28 Sep 2020 06:39:25 +0000 (+0200) Subject: Revert recent changes to lower_try_finally_dup_block X-Git-Tag: basepoints/gcc-12~4765 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dabef758bfe23d847cb1e2de2d0c0a67a53dc56a;p=thirdparty%2Fgcc.git 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 --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 1376b82c2af2..c3314bbd78ca 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)