Compute a backwards SubReg -> SubRegIndex map for each register.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 9 May 2012 22:15:00 +0000 (22:15 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 9 May 2012 22:15:00 +0000 (22:15 +0000)
commitca313e1efa98910a7a5e7f4bf2ac1a70adb6e4fe
tree494cae81f83bb8297bb53ec1ec62d966da05aec3
parentda2be824346c316c6fc840de7b8493e3d587e785
Compute a backwards SubReg -> SubRegIndex map for each register.

This mapping is for internal use by TableGen. It will not be exposed in
the generated files.

Unfortunately, the mapping is not completely well-defined. The X86 xmm
registers appear with multiple sub-register indices in the ymm
registers. This is because of the odd idempotent sub_sd and sub_ss
sub-register indices. I hope to be able to eliminate them entirely, so
we can require the sub-registers to form a tree.

For now, just place the canonical sub_xmm index in the mapping, and
ignore the idempotents.

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