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)
commita366d7b217f67effd4b56a6af7cb82f84d1242cb
treed5d1793dfc61c441dab3dd65a9c27844d594eeaa
parent30526e79e87f7875a3f9652e4cdfa5a8ca51b701
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.

llvm-svn: 227678
llvm/utils/TableGen/CodeGenRegisters.cpp
llvm/utils/TableGen/CodeGenRegisters.h
llvm/utils/TableGen/RegisterInfoEmitter.cpp