Add a way to define the bit range covered by a SubRegIndex.
authorAhmed Bougacha <ahmed.bougacha@gmail.com>
Fri, 31 May 2013 17:08:36 +0000 (17:08 +0000)
committerAhmed Bougacha <ahmed.bougacha@gmail.com>
Fri, 31 May 2013 17:08:36 +0000 (17:08 +0000)
commitbed23081860275c79137f65d592920e7991b8198
treed06c6135d2f04c21d9551cf53d867de0cc7d4ce5
parent9c8e1f93b419299aa9a416ada3b7190ce4a1f1b6
Add a way to define the bit range covered by a SubRegIndex.

NOTE: If this broke your out-of-tree backend, in *RegisterInfo.td, change
the instances of SubRegIndex that have a comps template arg to use the
ComposedSubRegIndex class instead.

In TableGen land, this adds Size and Offset attributes to SubRegIndex,
and the ComposedSubRegIndex class, for which the Size and Offset are
computed by TableGen. This also adds an accessor in MCRegisterInfo, and
Size/Offsets for the X86 and ARM subreg indices.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183020 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCRegisterInfo.h
include/llvm/Target/Target.td
lib/MC/MCRegisterInfo.cpp
lib/Target/ARM/ARMRegisterInfo.td
lib/Target/SystemZ/SystemZRegisterInfo.td
lib/Target/X86/X86RegisterInfo.td
utils/TableGen/CodeGenRegisters.cpp
utils/TableGen/CodeGenRegisters.h
utils/TableGen/RegisterInfoEmitter.cpp