This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/20969] unrolling does not take target register pressure into account.


------- Additional Comments From amylaar at gcc dot gnu dot org  2005-04-12 17:21 -------
(In reply to comment #6)
> > Do you have a set of patches to try out?
> 
> No but if we go your route, then every place where we do an 
> optimization, we
> will then need to teach it about register pressure which is wrong.  Only
> the register allocator should know.

But if we go down that route, the register allocator has to know about every
other optimization.  Throttling register pressure is usually much simpler
than un-doing a complex optimization, and then re-doing it with different
parameters, or doing some other optimizations instead.
Note that this is particularily true when considering the unrolling of an
inner loop vs. target register pressure.  The target register pressure is
easy to calculate, and although 4.1 lacks infrastructure for assessment of
the unroll benefit (which 3.4 has), it is certainly easier to add it there
in the unroller than in the register allocator.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20969


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]