Alias analysis is taking a long time now. I seem to have narrowed it down to this patch: http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00908.html running cpgram.ii shows a regression: before patch: tree alias analysis : 2.49 ( 7%) usr 0.25 ( 5%) sys 6.13 ( 5%) wall 4971 kB ( 1%) ggc TOTAL : 36.90 4.72 130.34 467341 kB after patch: tree alias analysis : 59.00 (63%) usr 0.40 ( 7%) sys 70.43 (36%) wall 4957 kB ( 1%) ggc TOTAL : 94.13 5.43 193.85 468339 kB on a 386 linux machine bootstrapped with checking disabled. cpgram.ii needs to be compiled with -fpermissive -O2
Created attachment 11095 [details] large c++ include file. cpgram.ii which compiles with -fpermissive
Mine
Subject: Bug 26804 Author: dberlin Date: Sat Mar 25 19:17:26 2006 New Revision: 112380 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=112380 Log: 2006-03-25 Daniel Berlin <dberlin@dberlin.org> PR tree-optimization/26804 * tree.h (DECL_CALL_CLOBBERED): New macro. (tree_decl_common): Add call_clobbered_flag. * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED. (mark_call_clobbered): Set DECL_CALL_CLOBBERED. (clear_call_clobbered): Clear DECL_CALL_CLOBBERED. (mark_non_addressable): Ditto. * tree-ssa.c (verify_call_clobbered): New function. (verify_alias_info): Use it. * tree-pass.h (pass_reset_cc_flags): New prototype. * tree-ssa-alias.c (pass_reset_cc_flags): New structure. (reset_cc_flags): New function. * passes.c (init_optimization_passes): Call reset_cc_flags after initializing referenced_vars. Modified: trunk/gcc/ChangeLog trunk/gcc/passes.c trunk/gcc/tree-flow-inline.h trunk/gcc/tree-pass.h trunk/gcc/tree-ssa-alias.c trunk/gcc/tree-ssa.c trunk/gcc/tree.h
Fixed