aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-09-30 22:19:07 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-09-30 22:19:07 +0000
commitc8e2bb68bbc4a71cc10084c8f89565b9f05e12ef (patch)
tree448a32becddd445e4db4fc224447d7de768021a7 /lib/Target/X86/X86RegisterInfo.cpp
parentb7359e384f7d15d3e24b3763ed66546e497fe213 (diff)
downloadexternal_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.cpp2
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: