diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-03 16:26:20 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-03 16:26:20 +0000 |
commit | 309076ff76c61e03ddd3a0fbbfded3042d2da2e5 (patch) | |
tree | e23f9cda6f609d11487dc0a940a88b25d4907921 /include/llvm/Target/TargetRegisterInfo.h | |
parent | 71d56462a1bc885c97321eff2fc4b481fd3bf452 (diff) | |
download | llvm-309076ff76c61e03ddd3a0fbbfded3042d2da2e5.tar.gz llvm-309076ff76c61e03ddd3a0fbbfded3042d2da2e5.tar.bz2 llvm-309076ff76c61e03ddd3a0fbbfded3042d2da2e5.tar.xz |
Don't override subreg functions in targets without subregisters.
Some targets have no sub-registers at all. Use the TargetRegisterInfo
versions of composeSubRegIndices(), getSubClassWithSubReg(), and
getMatchingSuperRegClass() for those targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156075 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetRegisterInfo.h')
-rw-r--r-- | include/llvm/Target/TargetRegisterInfo.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h index 8356ce4153..43541fe0cd 100644 --- a/include/llvm/Target/TargetRegisterInfo.h +++ b/include/llvm/Target/TargetRegisterInfo.h @@ -421,7 +421,9 @@ public: /// TableGen will synthesize missing A sub-classes. virtual const TargetRegisterClass * getMatchingSuperRegClass(const TargetRegisterClass *A, - const TargetRegisterClass *B, unsigned Idx) const =0; + const TargetRegisterClass *B, unsigned Idx) const { + llvm_unreachable("Target has no sub-registers"); + } /// getSubClassWithSubReg - Returns the largest legal sub-class of RC that /// supports the sub-register index Idx. @@ -436,7 +438,10 @@ public: /// /// TableGen will synthesize missing RC sub-classes. virtual const TargetRegisterClass * - getSubClassWithSubReg(const TargetRegisterClass *RC, unsigned Idx) const =0; + getSubClassWithSubReg(const TargetRegisterClass *RC, unsigned Idx) const { + assert(Idx == 0 && "Target has no sub-registers"); + return RC; + } /// composeSubRegIndices - Return the subregister index you get from composing /// two subregister indices. |