> Am 18.06.2026 um 17:41 schrieb Richard Sandiford <[email protected]>:
> 
> In this PR, -fno-tree-dce meant that backprop was presented with code
> that was completely dead.  The pass's internal DCE then tried to delete
> the function parameter's definition.
> 
> Bootstrapped & regression-tested on x86_64-linux-gnu.  OK to install?

Ok

Richard 

> Richard
> 
> 
> gcc/
>    * gimple-ssa-backprop.cc (backprop::execute): Don't try to delete
>    default definitions.
> 
> gcc/testsuite/
>    * gcc.dg/torture/pr125872.c: New test.
> ---
> gcc/gimple-ssa-backprop.cc              | 1 +
> gcc/testsuite/gcc.dg/torture/pr125872.c | 7 +++++++
> 2 files changed, 8 insertions(+)
> create mode 100644 gcc/testsuite/gcc.dg/torture/pr125872.c
> 
> diff --git a/gcc/gimple-ssa-backprop.cc b/gcc/gimple-ssa-backprop.cc
> index e101430bb8e..a95e2f95c5f 100644
> --- a/gcc/gimple-ssa-backprop.cc
> +++ b/gcc/gimple-ssa-backprop.cc
> @@ -1137,6 +1137,7 @@ backprop::execute ()
>   for (unsigned int i = 0; i < m_vars.length (); ++i)
>     if (var_info *v = m_vars[i])
>       if (TREE_CODE (v->new_value) == SSA_NAME
> +      && !SSA_NAME_IS_DEFAULT_DEF (v->new_value)
>      && has_zero_uses (v->new_value)
>      && bitmap_set_bit (deleted_vars, SSA_NAME_VERSION (v->new_value)))
>    {
> diff --git a/gcc/testsuite/gcc.dg/torture/pr125872.c 
> b/gcc/testsuite/gcc.dg/torture/pr125872.c
> new file mode 100644
> index 00000000000..5e5588f7d33
> --- /dev/null
> +++ b/gcc/testsuite/gcc.dg/torture/pr125872.c
> @@ -0,0 +1,7 @@
> +/* { dg-additional-options "-fno-tree-dce" } */
> +
> +void
> +foo(float f)
> +{
> +  for(;;) f *= (char)255;
> +}
> --
> 2.54.0
> 

Reply via email to