http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60291
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |compile-time-hog Status|UNCONFIRMED |NEW Last reconfirmed| |2014-02-20 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed.(In reply to Markus Trippelsdorf from comment #3) > Perf shows: > > 24.26% cc1 cc1 [.] bitmap_set_bit(bitmap_head*, int) > 20.88% cc1 cc1 [.] mark_all_vars_used_1(tree_node**, int*, void*) /* Only need to mark VAR_DECLS; parameters and return results are not eliminated as unused. */ if (TREE_CODE (t) == VAR_DECL) { /* When a global var becomes used for the first time also walk its initializer (non global ones don't have any). */ if (set_is_used (t) && is_global_var (t)) mark_all_vars_used (&DECL_INITIAL (t)); not sure why we do that .... (we've had such compile-time-hog in former referenced-vars tracking as well). That's quadratic if you refer to a large global from all functions. > 14.18% cc1 cc1 [.] operand_equal_p(tree_node const*, tree_node const*,... > 9.15% cc1 cc1 [.] mem_attrs_eq_p(mem_attrs const*, mem_attrs const*) > 4.17% cc1 cc1 [.] walk_tree_1(tree_node**, tree_node* > (*)(tree_node**,... > 1.69% cc1 cc1 [.] tree_block(tree_node*)