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 >