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)
commitb81cbc271faed9fa633920436cd7ae49750a9a42
treeac6e82021fb1b9579a24cbbd28351e1dba20470d
parent03a3811ab48139f45cf47f1168788e630af0d40b
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.

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