Change more of the guts of CodeGenRegister's RegUnit tracking to be based on bit...
authorOwen Anderson <resistor@mac.com>
Sat, 31 Jan 2015 07:49:41 +0000 (07:49 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 31 Jan 2015 07:49:41 +0000 (07:49 +0000)
commit35da384515ca7cbfb6571934d91c71f974dfd47e
treedd344dfe2e914a76974f71253d29180ddadf3768
parentef2a6771e9158270b5ef340b5438adcad417dcf5
Change more of the guts of CodeGenRegister's RegUnit tracking to be based on bit vectors.

This is a continuation of my prior work to move some of the inner workings for CodeGenRegister to use bit vectors when computing about register units. This is highly beneficial to TableGen runtime on targets with large, dense register files. This patch represents a ~40% runtime reduction over and above my earlier improvement on a stress test of this case.

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