[RFC] Disable FWPROP on pathological cases

2012-01-24 Thread Eric Botcazou
Starting with the 4.5.x series, we have pathological cases (Ada code generated by a code generator from a model) where FWPROP takes 80% of the compilation time at -O1 (for essentially no benefits). There are very few basic blocks (typically 1) and tens of thousands of uses registered with DF,

Re: [RFC] Disable FWPROP on pathological cases

2012-01-24 Thread Jakub Jelinek
On Tue, Jan 24, 2012 at 10:26:28PM +0100, Eric Botcazou wrote: +static bool +is_too_expensive (const char *pass) +{ + int ratio = DF_USES_TABLE_SIZE () / (n_basic_blocks - NUM_FIXED_BLOCKS); + + /* Trying to propagate into uses in functions with gigantic basic blocks + will take a

Re: [RFC] Disable FWPROP on pathological cases

2012-01-24 Thread Steven Bosscher
On Tue, Jan 24, 2012 at 10:26 PM, Eric Botcazou ebotca...@adacore.com wrote: Starting with the 4.5.x series, we have pathological cases (Ada code generated by a code generator from a model) where FWPROP takes 80% of the compilation time at -O1 (for essentially no benefits).  There are very few