In <https://gcc.gnu.org/pipermail/gcc-patches/2023-March/613687.html>
we discussed that the copy_node in ubsan_maybe_instrument_array_ref
is redundant, but also that it'd be best to postpone the optimization
to GCC 14.  So I'm making that change now.

Tested x86_64-pc-linux-gnu, applying to trunk.

gcc/c-family/ChangeLog:

        * c-ubsan.cc (ubsan_maybe_instrument_array_ref): Don't copy_node.
---
 gcc/c-family/c-ubsan.cc | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gcc/c-family/c-ubsan.cc b/gcc/c-family/c-ubsan.cc
index c3ae515306c..cfb7cbf389c 100644
--- a/gcc/c-family/c-ubsan.cc
+++ b/gcc/c-family/c-ubsan.cc
@@ -505,12 +505,8 @@ ubsan_maybe_instrument_array_ref (tree *expr_p, bool 
ignore_off_by_one)
       tree e = ubsan_instrument_bounds (EXPR_LOCATION (*expr_p), op0, &op1,
                                        ignore_off_by_one);
       if (e != NULL_TREE)
-       {
-         tree t = copy_node (*expr_p);
-         TREE_OPERAND (t, 1) = build2 (COMPOUND_EXPR, TREE_TYPE (op1),
-                                       e, op1);
-         *expr_p = t;
-       }
+       TREE_OPERAND (*expr_p, 1) = build2 (COMPOUND_EXPR, TREE_TYPE (op1),
+                                           e, op1);
     }
 }
 

base-commit: 07c52d1eec9671af92b7ce977b469f13a87887ad
-- 
2.40.1

Reply via email to