This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/43186] [4.4 Regression] A loop in tree_unroll_loops_completely never ends
- From: "hubicka at ucw dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Apr 2010 14:41:39 -0000
- Subject: [Bug tree-optimization/43186] [4.4 Regression] A loop in tree_unroll_loops_completely never ends
- References: <bug-43186-16926@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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