On 2/18/20 11:19 AM, Richard Biener wrote:
On Mon, Feb 17, 2020 at 4:21 PM Martin Liška <mli...@suse.cz> wrote:
Hi.
The patch is extension of 446096148ca9775cb56f9ee924fa283babcd0b76 commit
where we need to handle FIX_TRUNC_EXPR in compare_gimple_assign.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
There's also FLOAT_EXPR.
I wonder why you can ever disregard comparing the types of the LHS? Yes,
comparing is most of the time redundant but OTOH comparing the LHS
types would be enough for all SSA defs and then you can elide comparing
of SSA use types in way more cases?!
All right, let's compare LHS types for all gimple_assigns.
Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
Ready to be installed?
Thanks,
Martin
Thanks,
Martin
gcc/ChangeLog:
2020-02-17 Martin Liska <mli...@suse.cz>
PR ipa/92518
* ipa-icf-gimple.c (func_checker::compare_gimple_assign):
Consider also FIX_TRUNC_EXPR.
---
gcc/ipa-icf-gimple.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
>From 8d656664a0d6e3c5acf6a42ab46d66edfb05d281 Mon Sep 17 00:00:00 2001
From: Martin Liska <mli...@suse.cz>
Date: Mon, 17 Feb 2020 14:56:09 +0100
Subject: [PATCH] Always compare types of LHS for gimple_assign in ICF.
gcc/ChangeLog:
2020-02-17 Martin Liska <mli...@suse.cz>
PR ipa/92518
* ipa-icf-gimple.c (func_checker::compare_gimple_assign):
Always compare LHS of gimple_assign.
---
gcc/ipa-icf-gimple.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c
index fa71a028c66..3e5b2d4bd6d 100644
--- a/gcc/ipa-icf-gimple.c
+++ b/gcc/ipa-icf-gimple.c
@@ -620,8 +620,8 @@ func_checker::compare_gimple_assign (gimple *s1, gimple *s2)
arg1 = gimple_op (s1, i);
arg2 = gimple_op (s2, i);
- /* LHS types of NOP_EXPR must be compatible. */
- if (CONVERT_EXPR_CODE_P (code1) && i == 0)
+ /* Compare types for LHS. */
+ if (i == 0)
{
if (!compatible_types_p (TREE_TYPE (arg1), TREE_TYPE (arg2)))
return return_false_with_msg ("GIMPLE NOP LHS type mismatch");
--
2.25.0