OSDN Git Service

Slightly change TableGen's definition of a register subclass.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 30 Apr 2009 21:22:44 +0000 (21:22 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 30 Apr 2009 21:22:44 +0000 (21:22 +0000)
commit7afcc6aa270ca51e502de9f826ecdf61568a73b9
treeb69b86fe2a0bc09cdfe09cf92cde407fa9369eda
parent3d739fe3756bf67be23c2ca54ec7b04bef89bfe0
Slightly change TableGen's definition of a register subclass.

A subclass is allowed to have a larger spill size than the superclass, and the
spill alignment must be a multiple of the superclass alignment. This causes
the following new subclass relations:

=== Alpha ===
F4RC -> F8RC

=== PPC ===
F4RC -> F8RC

=== SPU ===
R8C -> R16C -> R32C/R32FP -> R64C/R64FP -> GPRC/VECREG

=== X86 ===
FR32  -> FR64  -> VR128
RFP32 -> RFP64 -> RFP80

These subclass relations are consistent with the behaviour of -join-cross-class-copies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70511 91177308-0d34-0410-b5e6-96231b3b80d8
utils/TableGen/RegisterInfoEmitter.cpp