https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89886
--- Comment #3 from vfdff <zhongyunde at huawei dot com> ---
A further thing, I think a 'static variables' will be put out in assemble, it
does not mean it is referenced ?
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1286) /* Return true when all
references to VNODE must be visible in ipa_ref_list.
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1287) i.e. if the variable is
not externally visible or not used in some magic
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1288) way (asm statement or
such).
0a10fd82 (froydnj 2011-02-11 15:16:46 +0000 1289) The magic uses are all
summarized in force_output flag. */
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1290)
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1291) static inline bool
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1292) varpool_all_refs_explicit_p
(struct varpool_node *vnode)
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1293) {
15ca8f90 (hubicka 2013-05-29 20:42:50 +0000 1294) return
(vnode->symbol.definition
7d0d0ce1 (hubicka 2012-04-14 10:24:59 +0000 1295) &&
!vnode->symbol.externally_visible
7d0d0ce1 (hubicka 2012-04-14 10:24:59 +0000 1296) &&
!vnode->symbol.used_from_other_partition
8efa224a (hubicka 2012-04-20 14:09:11 +0000 1297) &&
!vnode->symbol.force_output);
8dfbf71d (hubicka 2010-05-14 23:39:39 +0000 1298) }