On Fri, Aug 30, 2024 at 1:02 AM Andrew Pinski <quic_apin...@quicinc.com> wrote:
>
> After the small expansion patch for __builtin_prefetch, the
> only use of integer_three_node is inside tree-ssa-loop-prefetch.cc so let's
> remove it as the loop prefetch pass is not enabled these days by default and
> having a tree node around just for that pass is a little wasteful. Integer
> constants are also shared these days so calling build_int_cst will use the 
> cached
> node anyways.
>
> Bootstrapped and tested on x86_64-linux.

OK

>         PR middle-end/116537
>
> gcc/ChangeLog:
>
>         * tree-core.h (enum tree_index): Remove TI_INTEGER_THREE
>         * tree-ssa-loop-prefetch.cc (issue_prefetch_ref): Call build_int_cst
>         instead of using integer_three_node.
>         * tree.cc (build_common_tree_nodes): Remove initialization
>         of integer_three_node.
>         * tree.h (integer_three_node): Delete.
>
> Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
> ---
>  gcc/tree-core.h               | 1 -
>  gcc/tree-ssa-loop-prefetch.cc | 2 +-
>  gcc/tree.cc                   | 1 -
>  gcc/tree.h                    | 1 -
>  4 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/gcc/tree-core.h b/gcc/tree-core.h
> index 27c569c7702..a36817059da 100644
> --- a/gcc/tree-core.h
> +++ b/gcc/tree-core.h
> @@ -662,7 +662,6 @@ enum tree_index : unsigned {
>
>    TI_INTEGER_ZERO,
>    TI_INTEGER_ONE,
> -  TI_INTEGER_THREE,
>    TI_INTEGER_MINUS_ONE,
>    TI_NULL_POINTER,
>
> diff --git a/gcc/tree-ssa-loop-prefetch.cc b/gcc/tree-ssa-loop-prefetch.cc
> index bb5d5dec779..3569403c618 100644
> --- a/gcc/tree-ssa-loop-prefetch.cc
> +++ b/gcc/tree-ssa-loop-prefetch.cc
> @@ -1182,7 +1182,7 @@ issue_prefetch_ref (struct mem_ref *ref, unsigned 
> unroll_factor, unsigned ahead)
>    addr_base = force_gimple_operand_gsi (&bsi, unshare_expr (addr_base),
>                                         true, NULL, true, GSI_SAME_STMT);
>    write_p = ref->write_p ? integer_one_node : integer_zero_node;
> -  local = nontemporal ? integer_zero_node : integer_three_node;
> +  local = nontemporal ? integer_zero_node : build_int_cst 
> (integer_type_node, 3);
>
>    for (ap = 0; ap < n_prefetches; ap++)
>      {
> diff --git a/gcc/tree.cc b/gcc/tree.cc
> index 17a5cea7c25..b14cfbe7929 100644
> --- a/gcc/tree.cc
> +++ b/gcc/tree.cc
> @@ -9567,7 +9567,6 @@ build_common_tree_nodes (bool signed_char)
>    /* Define these next since types below may used them.  */
>    integer_zero_node = build_int_cst (integer_type_node, 0);
>    integer_one_node = build_int_cst (integer_type_node, 1);
> -  integer_three_node = build_int_cst (integer_type_node, 3);
>    integer_minus_one_node = build_int_cst (integer_type_node, -1);
>
>    size_zero_node = size_int (0);
> diff --git a/gcc/tree.h b/gcc/tree.h
> index c501019717f..93aa7d22d6f 100644
> --- a/gcc/tree.h
> +++ b/gcc/tree.h
> @@ -4444,7 +4444,6 @@ tree_strip_any_location_wrapper (tree exp)
>
>  #define integer_zero_node              global_trees[TI_INTEGER_ZERO]
>  #define integer_one_node               global_trees[TI_INTEGER_ONE]
> -#define integer_three_node              global_trees[TI_INTEGER_THREE]
>  #define integer_minus_one_node         global_trees[TI_INTEGER_MINUS_ONE]
>  #define size_zero_node                 global_trees[TI_SIZE_ZERO]
>  #define size_one_node                  global_trees[TI_SIZE_ONE]
> --
> 2.43.0
>

Reply via email to