From 54b1b91ca7c4106b26997f22cae132a50df4870c Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 2 Dec 2011 15:49:37 +0000 Subject: [PATCH] 2011-12-02 Richard Guenther PR lto/47259 * ipa.c (varpool_externally_visible_p): Register variables are always externally visible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181927 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/ipa.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7083bdee791..3865341fc24 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-02 Richard Guenther + + PR lto/47259 + * ipa.c (varpool_externally_visible_p): Register variables + are always externally visible. + 2011-12-02 Sameera Deshpande * gimple-pretty-print.c (dump_gimple_call): Dereference fn only if diff --git a/gcc/ipa.c b/gcc/ipa.c index 2f798460c4a..388291a3d92 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -662,6 +662,8 @@ varpool_externally_visible_p (struct varpool_node *vnode, bool aliased) if (varpool_used_from_object_file_p (vnode)) return true; + if (DECL_HARD_REGISTER (vnode->decl)) + return true; if (DECL_PRESERVE_P (vnode->decl)) return true; if (lookup_attribute ("externally_visible", -- 2.11.0