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? 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(-)
diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c index fa71a028c66..4a4f06b79b4 100644 --- a/gcc/ipa-icf-gimple.c +++ b/gcc/ipa-icf-gimple.c @@ -621,7 +621,9 @@ func_checker::compare_gimple_assign (gimple *s1, gimple *s2) arg2 = gimple_op (s2, i); /* LHS types of NOP_EXPR must be compatible. */ - if (CONVERT_EXPR_CODE_P (code1) && i == 0) + if ((CONVERT_EXPR_CODE_P (code1) + || code1 == FIX_TRUNC_EXPR) + && i == 0) { if (!compatible_types_p (TREE_TYPE (arg1), TREE_TYPE (arg2))) return return_false_with_msg ("GIMPLE NOP LHS type mismatch");