diff options
author | Owen Anderson <resistor@mac.com> | 2009-04-09 03:50:16 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-04-09 03:50:16 +0000 |
commit | 7d770be047059d624f37c6fb1e5b1d0f2b4961b3 (patch) | |
tree | c475cc91024153354431dc9cd3161027296dba2a /lib | |
parent | 49a4ba92413d1fa4519aee3e60c1c3ac5c571eee (diff) |
Convert TargetRegisterInfo's super-register checking to use a pre-computed hash table just like subregister checking does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68669 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/TargetRegisterInfo.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Target/TargetRegisterInfo.cpp b/lib/Target/TargetRegisterInfo.cpp index d9911e9e9a..85ecd3d28a 100644 --- a/lib/Target/TargetRegisterInfo.cpp +++ b/lib/Target/TargetRegisterInfo.cpp @@ -23,9 +23,11 @@ using namespace llvm; TargetRegisterInfo::TargetRegisterInfo(const TargetRegisterDesc *D, unsigned NR, regclass_iterator RCB, regclass_iterator RCE, int CFSO, int CFDO, - const unsigned* subregs, const unsigned subregsize) - : SubregHash(subregs), SubregHashSize(subregsize), Desc(D), NumRegs(NR), - RegClassBegin(RCB), RegClassEnd(RCE) { + const unsigned* subregs, const unsigned subregsize, + const unsigned* superregs, const unsigned superregsize) + : SubregHash(subregs), SubregHashSize(subregsize), + SuperregHash(superregs), SuperregHashSize(superregsize), + Desc(D), NumRegs(NR), RegClassBegin(RCB), RegClassEnd(RCE) { assert(NumRegs < FirstVirtualRegister && "Target has too many physical registers!"); |