retain debug stmt order when moving to successors
Richard Biener
richard.guenther@gmail.com
Wed Jul 28 12:34:30 GMT 2021
On Wed, Jul 28, 2021 at 10:12 AM Alexandre Oliva <oliva@adacore.com> wrote:
>
>
> We iterate over debug stmts from the last one in new_bb, and we insert
> them before the first post-label stmt in each dest block, without
> moving the insertion iterator, so they end up reversed. Moving the
> insertion iterator fixes this.
>
> Regstrapped on x86_64-linux-gnu. Ok to install?
OK.
Richard.
> for gcc/ChangeLog
>
> * tree-inline.c (maybe_move_debug_stmts_to_successors): Don't
> reverse debug stmts.
> ---
> gcc/tree-inline.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
> index 4a07d88f10bc5..b188a21df0e07 100644
> --- a/gcc/tree-inline.c
> +++ b/gcc/tree-inline.c
> @@ -2868,7 +2868,7 @@ maybe_move_debug_stmts_to_successors (copy_body_data *id, basic_block new_bb)
> gimple_set_location (stmt, UNKNOWN_LOCATION);
> }
> gsi_remove (&si, false);
> - gsi_insert_before (&dsi, stmt, GSI_SAME_STMT);
> + gsi_insert_before (&dsi, stmt, GSI_NEW_STMT);
> continue;
> }
>
> @@ -2894,7 +2894,7 @@ maybe_move_debug_stmts_to_successors (copy_body_data *id, basic_block new_bb)
> new_stmt = as_a <gdebug *> (gimple_copy (stmt));
> else
> gcc_unreachable ();
> - gsi_insert_before (&dsi, new_stmt, GSI_SAME_STMT);
> + gsi_insert_before (&dsi, new_stmt, GSI_NEW_STMT);
> id->debug_stmts.safe_push (new_stmt);
> gsi_prev (&ssi);
> }
>
>
> --
> Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
> Free Software Activist GNU Toolchain Engineer
> Disinformation flourishes because many people care deeply about injustice
> but very few check the facts. Ask me about <https://stallmansupport.org>
More information about the Gcc-patches
mailing list