https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77839
Bug ID: 77839 Summary: [7 Regression] Memory- and compile time hog at -O1 and above Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: compile-time-hog, memory-hog Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Current gcc 7 snapshots (and also as old as 7.0.0-alpha20160731) hog time and memory when compiling the following reduced snippet at -O1 (or higher): void sd(int yn) { while (yn < 1) { int hy; int *n6 = &hy; int **ot = &n6; (void)ot; for (yn = 0; yn < 1; ++yn) { int tc, wo = 0, ez = 0, b8 = 0; int *ls = &wo; (void)ls; hy = 0; for (tc = 0; tc < 1; ++tc) { ez ^= hy; wo ^= ez; ++b8; } hy += (b8 < wo); } } } % timeout 20 gcc-7.0.0-alpha20161002 -O1 -c v5ydrl0g.c zsh: exit 124 Several top entries reported by perf: 4.32% cc1 cc1 [.] visit_use 1.79% cc1 cc1 [.] mark_used_flags 1.50% cc1 cc1 [.] walk_tree_1 1.36% cc1 cc1 [.] VN_INFO 1.30% cc1 cc1 [.] operand_equal_p 1.14% cc1 libc-2.23.so [.] _int_malloc 1.09% cc1 libc-2.23.so [.] __memset_sse2 1.07% cc1 cc1 [.] inchash::add_expr 0.94% cc1 cc1 [.] vn_reference_eq 0.91% cc1 cc1 [.] iterative_hash_host_wide_int 0.83% cc1 cc1 [.] copy_reference_ops_from_ref 0.82% cc1 cc1 [.] set_ssa_val_to 0.82% cc1 cc1 [.] hash_table<vn_phi_hasher, xcallocator>::find_slot_with_hash 0.80% cc1 cc1 [.] iterative_hash_hashval_t 0.80% cc1 cc1 [.] tree_operand_check 0.78% cc1 cc1 [.] wide_int_to_tree 0.75% cc1 cc1 [.] hash_table<vn_reference_hasher, xcallocator>::find_slot_with_hash 0.75% cc1 cc1 [.] ggc_internal_alloc 0.73% cc1 cc1 [.] walk_gimple_op 0.73% cc1 libc-2.23.so [.] _int_free 0.71% cc1 cc1 [.] valueize_refs_1 0.70% cc1 cc1 [.] get_ref_base_and_extent 0.68% cc1 cc1 [.] vn_reference_compute_hash 0.66% cc1 cc1 [.] bitmap_set_bit 0.64% cc1 cc1 [.] vn_phi_compute_hash 0.63% cc1 libc-2.23.so [.] __memset_avx2 0.63% cc1 cc1 [.] df_live_bb_local_compute 0.59% cc1 cc1 [.] is_gimple_reg 0.54% cc1 cc1 [.] gimple_simplify 0.53% cc1 cc1 [.] get_alias_set 0.52% cc1 cc1 [.] gimple_fold_stmt_to_constant_1 0.51% cc1 cc1 [.] is_gimple_val