https://gcc.gnu.org/g:4d2cbe2bbedbdbc609683f7fb491b3e02add15b3
commit r15-3320-g4d2cbe2bbedbdbc609683f7fb491b3e02add15b3 Author: Andrew Pinski <quic_apin...@quicinc.com> Date: Thu Aug 29 11:01:56 2024 -0700 middle-end: Remove integer_three_node [PR116537] 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. 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> Diff: --- 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 27c569c77022..a36817059da3 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 52ea3bad07eb..529ecae1a358 100644 --- a/gcc/tree-ssa-loop-prefetch.cc +++ b/gcc/tree-ssa-loop-prefetch.cc @@ -1183,7 +1183,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 17a5cea7c252..b14cfbe7929b 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 c501019717f0..93aa7d22d6f8 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]