------- Comment #9 from hubicka at gcc dot gnu dot org 2005-11-03 20:06 ------- For reload CSE there is --param max-cselib-memory-locations=10 that cuts it's time to 1%, overall. Since this testcase is sort of designed to excercise the worst case behaviour, I think it is not too bad...
alias analysis has: /* Maximum length of pbi->mem_set_list before we start dropping new elements on the floor. */ #define MAX_MEM_SET_LIST_LEN 100 perhaps unifying all these lists would make sense. Would that be applicable for 4.1? (Ie I would have to pick some common value, like 300 - cselib defaults to 500) CSE has: /* If we have processed 1,000 insns, flush the hash table to avoid extreme quadratic behavior. We must not include NOTEs in the count since there may be more of them when generating debugging information. If we clear the table at different times, code generated with -g -O might be different than code generated with -O but not -g. ??? This is a real kludge and needs to be done some other way. Perhaps for 2.9. */ I am not sure if I can fit memory specific limit in this (it would be nice to simply throw away old entries rather than flushing it all), or we can just keep it. None of these algorithms would grow ad infimum and manifest worse behaviour than in this testcase, so I would not consider it P2 Honza -- hubicka at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23490