From 13f659d456f817e643297bea1484cb7de224b542 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 20 Oct 2014 12:44:54 +0200 Subject: [PATCH] re PR tree-optimization/63583 (ICF does not check that the template strings are the same) PR ipa/63583 * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Gimple tempate string is compared. * gcc.dg/ipa/pr63595.c: New test. From-SVN: r216458 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-icf-gimple.c | 3 +++ gcc/testsuite/ChangeLog | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 99494eadcb5..15ff8579cc0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-10-20 Martin Liska + + PR ipa/63583 + * ipa-icf-gimple.c (func_checker::compare_gimple_asm): + Gimple tempate string is compared. + 2014-10-20 Uros Bizjak * varasm.c (const_alias_set): Remove. diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c index 792a3e402bf..1369b743ab4 100644 --- a/gcc/ipa-icf-gimple.c +++ b/gcc/ipa-icf-gimple.c @@ -863,6 +863,9 @@ func_checker::compare_gimple_asm (gimple g1, gimple g2) if (gimple_asm_nclobbers (g1) != gimple_asm_nclobbers (g2)) return false; + if (strcmp (gimple_asm_string (g1), gimple_asm_string (g2)) != 0) + return return_false_with_msg ("ASM strings are different"); + for (unsigned i = 0; i < gimple_asm_ninputs (g1); i++) { tree input1 = gimple_asm_input_op (g1, i); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 11ef7267159..c7c73887b62 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2014-10-20 Martin Liska + + * gcc.dg/ipa/pr63595.c: New test. + 2014-10-19 Francois-Xavier Coudert PR fortran/48979 -- 2.30.2