[llvm-commits] [PATCH] Teach -join-cross-class-copies to intersect register classes
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Apr 29 13:45:30 PDT 2009
This patch series teaches -join-register-classes to properly intersect
register classes when joining two virtual registers. This avoids
generating bad machine code in the blackfin backend. It should have no
effect on other targets.
=== 01-tablegen-subclass.patch
Loosen TableGen's definition of a register subclass so a subclass is
allowed to have a larger spill size. This is consistent with what -
join-cross-class-copies does now.
See my ramblings here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-April/021966.html
This patch is not actually necessary to solve my blackfin problems -
it ensures that -join-cross-class-copies doesn't change behaviour on
Alpha, PPC, SPU, and X86 where a register may have multiple spill sizes.
=== 02-intersection-regclass.patch
Implement the intersection(A, B) function that find the largest common
subclass of two register classes.
=== 03-join-cross-intersection.patch
Use intersection() to determine the new register class of a joined
virtual register.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 01-tablegen-subclass.patch
Type: application/octet-stream
Size: 1477 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090429/41038924/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 02-intersection-regclass.patch
Type: application/octet-stream
Size: 2563 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090429/41038924/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 03-join-cross-intersection.patch
Type: application/octet-stream
Size: 1820 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090429/41038924/attachment-0002.obj>
More information about the llvm-commits
mailing list