OSDN Git Service

TableGen: Support lanemasks for classes without subregisters
authorMatthias Braun <matze@braunis.de>
Thu, 28 Apr 2016 03:07:04 +0000 (03:07 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 28 Apr 2016 03:07:04 +0000 (03:07 +0000)
commit3b74a145c873826c9aadedf27c774c8fe293eb35
tree71fcb60604678f6e946f4c8c02e5f67028e50c5b
parent289718f19c6402731b9bbbe2d3b9e89aae02f312
TableGen: Support lanemasks for classes without subregisters

Previously using lanemasks on registers without any subregisters was not
well defined. This commit extends TargetRegisterInfo/tablegen to:
- Report a lanemask of 1 for regclasses without subregisters
- Do the right thing when mapping a 0/1 lanemask from a class without
  subregisters into a class with subregisters in
  TargetRegisterInfo::composeSubRegIndexLaneMasks().

This will be used in the upcoming "DetectDeadLanes" patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267848 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetRegisterInfo.h
utils/TableGen/CodeGenRegisters.cpp