aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <quic_apinski@quicinc.com>2024-08-29 11:01:56 -0700
committerAndrew Pinski <quic_apinski@quicinc.com>2024-08-30 07:09:07 -0700
commit4d2cbe2bbedbdbc609683f7fb491b3e02add15b3 (patch)
tree4e47301e222a80b468144c8f23f74b035adc5df4 /gcc
parent04d11ded0132adb0054120fb5290154400991d13 (diff)
downloadgcc-4d2cbe2bbedbdbc609683f7fb491b3e02add15b3.zip
gcc-4d2cbe2bbedbdbc609683f7fb491b3e02add15b3.tar.gz
gcc-4d2cbe2bbedbdbc609683f7fb491b3e02add15b3.tar.bz2
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_apinski@quicinc.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree-core.h1
-rw-r--r--gcc/tree-ssa-loop-prefetch.cc2
-rw-r--r--gcc/tree.cc1
-rw-r--r--gcc/tree.h1
4 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-core.h b/gcc/tree-core.h
index 27c569c..a368170 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 52ea3ba..529ecae 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 17a5cea..b14cfbe 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 c501019..93aa7d2 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]