This is the mail archive of the gcc-patches@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]

Re: [patch] Fix behavior of TER on unrolled loops


Hello,

> > The patch fixes the problem 
> 
> You mean works around the problem, by basically disabling any form of
> coalescing.
> 
> It should be clearly marked as something that should be removed when we
> have a sane register allocator (IE FIXME)

it is not at all clear to me that this can be fixed by register
allocator; at least not unless it performs quite extensive code motion.
I am somewhat pessimistic about ever getting register allocator that is
able to mysteriously fix all the problems with register pressure.
Register allocation is unfortunately hard enough problem even without
trying to make it to fix all the stupidities previous passes do.

Yes, it is a workaround in the sense that it does not really fix
all the possible problems.  If you try hard enough, you are still able
to persuade TER to cause this behavior.  This patch is just good enough to
catch the common case coming from unrolling.

Zdenek


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