]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
forwprop: Add a quick out for new_src_based_on_copy when both are decls
authorAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Tue, 16 Sep 2025 16:48:52 +0000 (09:48 -0700)
committerAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Wed, 17 Sep 2025 18:36:05 +0000 (11:36 -0700)
If both operands that are being compared are decls, operand_equal_p will already
handle that case so an early out can be done here.

Bootstrapped and tested on x86_64-linux-gnu.

gcc/ChangeLog:

* tree-ssa-forwprop.cc (new_src_based_on_copy): An early out
if both are decls.

Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
gcc/tree-ssa-forwprop.cc

index f58a7b8c591d3e98b570905fd83ae5e983047e29..9d389e1b9bfcb89dfab9079233721aff93ecb457 100644 (file)
@@ -1473,6 +1473,10 @@ new_src_based_on_copy (tree src2, tree dest, tree src)
      where one field is the same size as the whole struct.  */
   if (operand_equal_p (dest, src2))
     return src;
+  /* if both dest and src2 are decls, then we know these 2
+     accesses can't be the same.  */
+  if (DECL_P (dest) && DECL_P (src2))
+    return NULL_TREE;
   /* A VCE can't be used with imag/real or BFR so reject them early. */
   if (TREE_CODE (src) == IMAGPART_EXPR
       || TREE_CODE (src) == REALPART_EXPR