This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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