The attached code (a md4 function, about 100 lines) takes many minutes (apparently >100) to compile with gcc mainline 4.3 at -O3. At -O2, or with gcc 4.2, it takes below 1 second. 4.3.0 20070411 is OK, too. Memory requirement stays very low.
The top of a profile with mainline looks like this: % symbol name 14.8255 iterative_hash_expr 14.5251 bitmap_find_leader 13.8068 phi_translate 7.3317 iterative_hash 6.5265 get_value_handle 5.3315 htab_find_slot_with_hash 5.0914 iterative_hash_pointer 3.8050 iterative_hash_hashval_t 3.4260 bitmap_set_contains_value 2.3798 is_gimple_min_invariant 2.2232 iterative_hash_host_wide_int 2.0325 tree_operand_length 1.8615 translate_vuses_through_block 1.7766 bitmap_bit_p 1.6062 find_leader_in_sets 1.5111 expression_for_id 1.3981 vn_compute 1.2290 tree_operand_length 1.0592 expr_pred_trans_eq -- Summary: Short function (md4) takes very long to compile Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: compile-time-hog Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: falk at debian dot org GCC build triplet: alphaev68-unknown-linux-gnu GCC host triplet: alphaev68-unknown-linux-gnu GCC target triplet: alphaev68-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31911