Patch. Fix redundent copies between nodes with different but compatible register classes
Yin Ma
yinma at codeaurora.org
Mon Oct 14 11:20:30 PDT 2013
Hi Tim,
For thumb code, register coalescing cannot remove all copies that could be
removed
by this patch. If you apply this patch and do a comparison, you will see
the difference.
Because the copy is removed from the very beginning, it will make all
backend passes
more efficient. It will also improve compilation speed.
I have attached the test case we used for this patch.
Thanks for reviewing.
Yin
-----Original Message-----
From: Tim Northover [mailto:t.p.northover at gmail.com]
Sent: Monday, October 07, 2013 12:07 PM
To: Yin Ma
Cc: llvm-commits
Subject: Re: Patch. Fix redundent copies between nodes with different but
compatible register classes
Hi Yin,
> This patch will remove the copy between def-use nodes with two
> different but compatible register classes.
What's the purpose of this patch? If it's purely to decrease compile-time,
then it may be ok. If it's an actual change to codegen:
1. Shouldn't register-coalescing be where this is dealt with? That's the
code which is designed to see through super/sub-register copies.
2. It presumably has an effect on code. Could we have a test?
Cheers.
Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rccopy-remove.ii
Type: application/octet-stream
Size: 2523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131014/be8b6bdf/attachment.obj>
More information about the llvm-commits
mailing list