+2015-01-20 Richard Biener <rguenther@suse.de>
+
+ PR ipa/64684
+ * ipa-reference.c (add_static_var): Inline ...
+ (analyze_function): ... here after splitting out from ...
+ (is_proper_for_analysis): ... this.
+
2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
PR target/64149
}
\f
-
-/* Add VAR to all_module_statics and the two
- reference_vars_to_consider* sets. */
-
-static inline void
-add_static_var (tree var)
-{
- int uid = DECL_UID (var);
- gcc_assert (TREE_CODE (var) == VAR_DECL);
- if (dump_file)
- splay_tree_insert (reference_vars_to_consider,
- uid, (splay_tree_value)var);
- bitmap_set_bit (all_module_statics, uid);
-}
-
/* Return true if the variable T is the right kind of static variable to
perform compilation unit scope escape analysis. */
if (bitmap_bit_p (ignore_module_statics, DECL_UID (t)))
return false;
- /* This is a variable we care about. Check if we have seen it
- before, and if not add it the set of variables we care about. */
- if (all_module_statics
- && !bitmap_bit_p (all_module_statics, DECL_UID (t)))
- add_static_var (t);
-
return true;
}
var = ref->referred->decl;
if (!is_proper_for_analysis (var))
continue;
+ /* This is a variable we care about. Check if we have seen it
+ before, and if not add it the set of variables we care about. */
+ if (all_module_statics
+ && bitmap_set_bit (all_module_statics, DECL_UID (var)))
+ {
+ if (dump_file)
+ splay_tree_insert (reference_vars_to_consider,
+ DECL_UID (var), (splay_tree_value)var);
+ }
switch (ref->use)
{
case IPA_REF_LOAD:
+2015-01-20 Richard Biener <rguenther@suse.de>
+
+ PR ipa/64684
+ * gcc.dg/lto/pr64684_0.c: New testcase.
+ * gcc.dg/lto/pr64684_1.c: Likewise.
+ * gcc.dg/lto/pr64684_2.c: Likewise.
+ * gcc.dg/lto/pr64685_0.c: Likewise.
+ * gcc.dg/lto/pr64685_1.c: Likewise.
+
2015-01-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62241