From a296a0109b718272cf6fc578e9b631f82103c558 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 2 Dec 2011 15:49:37 +0000 Subject: [PATCH] re PR lto/47259 (LTO and global register variable) 2011-12-02 Richard Guenther PR lto/47259 * ipa.c (varpool_externally_visible_p): Register variables are always externally visible. From-SVN: r181927 --- gcc/ChangeLog | 6 ++++++ gcc/ipa.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7083bdee7911..3865341fc245 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 2f798460c4a6..388291a3d923 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.47.2