diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-09-30 22:19:07 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-09-30 22:19:07 +0000 |
commit | c8e2bb68bbc4a71cc10084c8f89565b9f05e12ef (patch) | |
tree | 448a32becddd445e4db4fc224447d7de768021a7 /lib/Target/X86/X86RegisterInfo.cpp | |
parent | b7359e384f7d15d3e24b3763ed66546e497fe213 (diff) | |
download | external_llvm-c8e2bb68bbc4a71cc10084c8f89565b9f05e12ef.zip external_llvm-c8e2bb68bbc4a71cc10084c8f89565b9f05e12ef.tar.gz external_llvm-c8e2bb68bbc4a71cc10084c8f89565b9f05e12ef.tar.bz2 |
Store sub-class lists as a bit vector.
This uses less memory and it reduces the complexity of sub-class
operations:
- hasSubClassEq() and friends become O(1) instead of O(N).
- getCommonSubClass() becomes O(N) instead of O(N^2).
In the future, TableGen will infer register classes. This makes it
cheap to add them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140898 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index ba8be69..70402f3 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -235,7 +235,7 @@ X86RegisterInfo::getMatchingSuperRegClass(const TargetRegisterClass *A, const TargetRegisterClass* X86RegisterInfo::getLargestLegalSuperClass(const TargetRegisterClass *RC) const{ const TargetRegisterClass *Super = RC; - TargetRegisterClass::sc_iterator I = RC->superclasses_begin(); + TargetRegisterClass::sc_iterator I = RC->getSuperClasses(); do { switch (Super->getID()) { case X86::GR8RegClassID: |