[Bug c++/56671] Gcc uses large amounts of memory and processor power with large C++11 bitsets

markus at trippelsdorf dot de gcc-bugzilla@gcc.gnu.org
Thu Mar 21 08:32:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56671

--- Comment #1 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2013-03-21 08:31:57 UTC ---
Created attachment 29703
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29703
callgraph

Looks like a bug in constant expression handling.

perf shows:
 15.51%   cc1plus  cc1plus            [.] gt_ggc_mx_lang_tree_node(void*)
 11.14%   cc1plus  cc1plus            [.] walk_tree_1(tree_node**, tree_node*
(*)(tree_node**, int*, void*), void*, pointer_set_t*, tree_node*
(*)(tree_node**, int*, tree_no
  9.54%   cc1plus  cc1plus            [.] htab_expand.1557810
  7.28%   cc1plus  cc1plus            [.] ggc_set_mark(void const*)
  6.35%   cc1plus  cc1plus            [.] lookup_page_table_entry(void const*)
[clone .218759]
  6.32%   cc1plus  cc1plus            [.] build_int_cst(tree_node*, long)
  5.07%   cc1plus  [kernel.kallsyms]  [k] clear_page_c
  3.60%   cc1plus  cc1plus            [.]
initializer_constant_valid_p_1(tree_node*, tree_node*, tree_node**) [clone
.1222026]
  3.46%   cc1plus  cc1plus            [.] mostly_copy_tree_r(tree_node**, int*,
void*) [clone .459380]
  2.57%   cc1plus  cc1plus            [.] gt_ggc_mx(constructor_elt_d&)
  2.21%   cc1plus  cc1plus            [.] vec<constructor_elt_d, va_gc,
vl_embed>::copy() const [clone .local.823]
  1.97%   cc1plus  cc1plus            [.] int_cst_hash_hash(void const*) [clone
.1202876]
  1.94%   cc1plus  cc1plus            [.] cxx_eval_vec_init_1(constexpr_call
const*, tree_node*, tree_node*, bool, bool, bool, bool*, bool*) [clone
.109131.20812] 


cxx_eval_outermost_constant_expr -> cxx_eval_constant_expression ->
-> cxx_eval_vec_init_1 -> build_int_cst 
(see attached callgraph)



More information about the Gcc-bugs mailing list