https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121424

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #6)
> I found one location where we don't set the location on the debug statements:
> ```
> diff --git a/gcc/tree-into-ssa.cc b/gcc/tree-into-ssa.cc
> index 3499b7f5829..bc859761516 100644
> --- a/gcc/tree-into-ssa.cc
> +++ b/gcc/tree-into-ssa.cc
> @@ -1370,6 +1370,7 @@ rewrite_stmt (gimple_stmt_iterator *si)
>           }
>      }
> 
> +  location_t loc = gimple_location (stmt);
>    /* Step 2.  Register the statement's DEF operands.  */
>    if (register_defs_p (stmt))
>      FOR_EACH_SSA_DEF_OPERAND (def_p, stmt, iter, SSA_OP_ALL_DEFS)
> @@ -1405,6 +1406,7 @@ rewrite_stmt (gimple_stmt_iterator *si)
>         if (tracked_var)
>           {
>             gimple *note = gimple_build_debug_bind (tracked_var, name, stmt);
> +           gimple_set_location (note, loc);
>             gsi_insert_after (si, note, GSI_SAME_STMT);
>           }
>        }
> 
> ```
> 
> But I am not 100% sure this will improve things.

That actually made things worse.

The debug statement is coming from insert_phi_nodes_for.

Reply via email to