On Thu, Aug 13, 2020 at 2:49 PM Martin Liška <mli...@suse.cz> wrote:
>
> As mentioned in the PR, we miss one initialization of ::punned
> in vn_reference_lookup_call.
>
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>
> Ready to be installed?

OK.

Thanks,
Richard.

> Thanks,
> Martin
>
> gcc/ChangeLog:
>
>         PR tree-optimization/96597
>         * tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing
>         initialization of ::punned.
>         (vn_reference_insert): Use consistently false instead of 0.
>         (vn_reference_insert_pieces): Likewise.
> ---
>   gcc/tree-ssa-sccvn.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
> index 934ae40670d..789d3664db5 100644
> --- a/gcc/tree-ssa-sccvn.c
> +++ b/gcc/tree-ssa-sccvn.c
> @@ -3578,6 +3578,7 @@ vn_reference_lookup_call (gcall *call, vn_reference_t 
> *vnresult,
>     vr->vuse = vuse ? SSA_VAL (vuse) : NULL_TREE;
>     vr->operands = valueize_shared_reference_ops_from_call (call);
>     vr->type = gimple_expr_type (call);
> +  vr->punned = false;
>     vr->set = 0;
>     vr->base_set = 0;
>     vr->hashcode = vn_reference_compute_hash (vr);
> @@ -3601,7 +3602,7 @@ vn_reference_insert (tree op, tree result, tree vuse, 
> tree vdef)
>     vr1->vuse = vuse_ssa_val (vuse);
>     vr1->operands = valueize_shared_reference_ops_from_ref (op, &tem).copy ();
>     vr1->type = TREE_TYPE (op);
> -  vr1->punned = 0;
> +  vr1->punned = false;
>     ao_ref op_ref;
>     ao_ref_init (&op_ref, op);
>     vr1->set = ao_ref_alias_set (&op_ref);
> @@ -3661,7 +3662,7 @@ vn_reference_insert_pieces (tree vuse, alias_set_type 
> set,
>     vr1->vuse = vuse_ssa_val (vuse);
>     vr1->operands = valueize_refs (operands);
>     vr1->type = type;
> -  vr1->punned = 0;
> +  vr1->punned = false;
>     vr1->set = set;
>     vr1->base_set = base_set;
>     vr1->hashcode = vn_reference_compute_hash (vr1);
> --
> 2.28.0
>

Reply via email to