------- Comment #18 from hubicka at ucw dot cz 2010-04-08 14:41 ------- Subject: Re: [4.4 Regression] A loop in tree_unroll_loops_completely never ends
> > Well, I guess in addition to number of instructions after optimizing we can > > also estimate number of instruction we actually produce by unrolling and > > have > > some cutoff (a lot bigger than for code size estimate growth) on those as > > well... > > We do. But it all get's just smaller - but only after optimizing. Yep, we compute what will get optimized out as constant expression after full unrolling. I guess we need to compute both values - one with taking these into account (i.e. estimating effect on the generated code) and one without (i.e. estimating effect on memory and time we will blow on this) and limit both... At least this is my "backup plan" for inliner if we ever run into case that the heuristic will blow up out of time and space by giving something that optimizes very well subsequently. I can play with this if this seems sane. (as I guess my unrolling estimate improvements are source of this issue) Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43186