From: Andrew Pinski Date: Tue, 16 Sep 2025 16:48:52 +0000 (-0700) Subject: forwprop: Add a quick out for new_src_based_on_copy when both are decls X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4b83df548f3f16c8c5bd83d82801f8219984e089;p=thirdparty%2Fgcc.git forwprop: Add a quick out for new_src_based_on_copy when both are decls 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 --- diff --git a/gcc/tree-ssa-forwprop.cc b/gcc/tree-ssa-forwprop.cc index f58a7b8c591..9d389e1b9bf 100644 --- a/gcc/tree-ssa-forwprop.cc +++ b/gcc/tree-ssa-forwprop.cc @@ -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