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 | 237dceff900de901d9fffb23218f94845d90332b (patch) | |
tree | add2ebae2d4763c03d4525943a16ed1ca6b651b7 /llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | |
parent | 8153f6c39fa78f240813a28d3807a489f655d69f (diff) | |
download | bcm5719-llvm-237dceff900de901d9fffb23218f94845d90332b.tar.gz bcm5719-llvm-237dceff900de901d9fffb23218f94845d90332b.zip |
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.
llvm-svn: 140898
Diffstat (limited to 'llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp index aabef25ea6a..7c42342229a 100644 --- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp @@ -353,7 +353,7 @@ const TargetRegisterClass* ARMBaseRegisterInfo::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 ARM::GPRRegClassID: |