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