diff options
author | Martin Liska <mliska@suse.cz> | 2015-02-25 18:38:09 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2015-02-25 17:38:09 +0000 |
commit | b4f26d91afba1a109af95cc69e2d0a0064292335 (patch) | |
tree | 2b9ecedd0a575f6e3a193a938f25ac77901653ab /gcc | |
parent | d31ac41c01b3a07479e5c0dd2b007450a03d92e0 (diff) | |
download | gcc-b4f26d91afba1a109af95cc69e2d0a0064292335.zip gcc-b4f26d91afba1a109af95cc69e2d0a0064292335.tar.gz gcc-b4f26d91afba1a109af95cc69e2d0a0064292335.tar.bz2 |
ICF: Validate correctly hard register variables.
* ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
hard register variables.
From-SVN: r220985
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-icf-gimple.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9270c8..4d231c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-02-25 Martin Liska <mliska@suse.cz> + + * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare + hard register variables. + 2015-02-25 Kai Tietz <ktietz@redhat.com> PR target/64212 diff --git a/gcc/ipa-icf-gimple.c b/gcc/ipa-icf-gimple.c index 5b176d0..53d2c38 100644 --- a/gcc/ipa-icf-gimple.c +++ b/gcc/ipa-icf-gimple.c @@ -575,6 +575,13 @@ func_checker::compare_variable_decl (tree t1, tree t2) if (t1 == t2) return true; + if (DECL_HARD_REGISTER (t1) != DECL_HARD_REGISTER (t2)) + return return_false_with_msg ("DECL_HARD_REGISTER are different"); + + if (DECL_HARD_REGISTER (t1) + && DECL_ASSEMBLER_NAME (t1) != DECL_ASSEMBLER_NAME (t2)) + return return_false_with_msg ("HARD REGISTERS are different"); + if (TREE_CODE (t1) == VAR_DECL && (DECL_EXTERNAL (t1) || TREE_STATIC (t1))) { symtab_node *n1 = symtab_node::get (t1); |