> > > > I never really tuned the stack frame growth heuristics since it did not > > cause any problems > > in the benchmarks. On fortran this is quite different because of the large > > i/o blocks > > hitting it very commonly, so I will look into making it more permissive. > > We definitely > > can just bump up the limits and/or we can also teach it that if call > > dominates the return > > there is not really much to save of stack usage by preventing inlining > > since both stack > > frames will wind up on the stack anyway. > > I think Micha has a fix for the I/O block issue.
Good, how he fixed this? In any case I sort of like the idea of tracking whether function call happens always and bypassing limits in that case. There seems to be cases of functions called once that are not inlined for this reason and there is no danger for doing so. I saw that in combine.c dump as well as in the ac polyhedron benchmark I just looked that. In case of combine.c it is definitely becuase of standard non-scalar local vars. Honza > > Richard. > > > This means adding new bit whether call edge dominate exit and using this > > info. Also simple > > noreturn IPA discovery can be based on this and I recently noticed it might > > be important > > for Mozilla. So I will give it a try soonish. > > > > I will also look into the estimate_size ICE reported today. > > > > Honza > >