Compute topological signatures of registers.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 14 May 2012 15:10:07 +0000 (15:10 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 14 May 2012 15:10:07 +0000 (15:10 +0000)
commit50ecd0ff1698b862d8c71e9d92fe575dbd509d71
tree260715b11188ff61dfb1ca59870ad0f37de8c270
parent2fad493fe4182078f75c030fa7fc04b20dc17814
Compute topological signatures of registers.

TableGen creates new register classes and sub-register indices based on
the sub-register structure present in the register bank. So far, it has
been doing that on a per-register basis, but that is not very efficient.

This patch teaches TableGen to compute topological signatures for
registers, and use that to reduce the amount of redundant computation.
Registers get the same TopoSig if they have identical sub-register
structure.

TopoSigs are not currently exposed outside TableGen.

llvm-svn: 156761
llvm/utils/TableGen/CodeGenRegisters.cpp
llvm/utils/TableGen/CodeGenRegisters.h