> 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
>