aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-04-21 17:53:58 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-04-21 17:53:58 +0000
commit6896a7dd435e8921cae56fb463bfa2d5f44f29b8 (patch)
treefb9cac4ad73a48d3828d1d414373990dc39e670c
parent09233fb86e237715d138db5dc5b72ada386089f2 (diff)
downloadexternal_llvm-6896a7dd435e8921cae56fb463bfa2d5f44f29b8.zip
external_llvm-6896a7dd435e8921cae56fb463bfa2d5f44f29b8.tar.gz
external_llvm-6896a7dd435e8921cae56fb463bfa2d5f44f29b8.tar.bz2
Make SparcV9RegInfo::getRegType() return the right answer for registers
of IntCC, FloatCC, and Special types. Make SparcV9RegInfo::getRegClassIDOfRegType() return the right answer if you ask for the class corresponding to SpecialRegType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13095 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/SparcV9/SparcV9RegInfo.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Target/SparcV9/SparcV9RegInfo.cpp b/lib/Target/SparcV9/SparcV9RegInfo.cpp
index 1c53703..89aad04 100644
--- a/lib/Target/SparcV9/SparcV9RegInfo.cpp
+++ b/lib/Target/SparcV9/SparcV9RegInfo.cpp
@@ -256,11 +256,11 @@ int SparcV9RegInfo::getRegType(int unifiedRegNum) const
return FPSingleRegType;
else if (unifiedRegNum < (64 + 32))
return FPDoubleRegType;
- else if (unifiedRegNum < (64+32+4))
- return FloatCCRegType;
- else if (unifiedRegNum < (64+32+4+2))
- return IntCCRegType;
- else if (unifiedRegNum < (64+32+4+2+1))
+ else if (unifiedRegNum < (64+32+3))
+ return IntCCRegType;
+ else if (unifiedRegNum < (64+32+3+4))
+ return FloatCCRegType;
+ else if (unifiedRegNum < (64+32+3+4+1))
return SpecialRegType;
else
assert(0 && "Invalid unified register number in getRegType");
@@ -300,6 +300,7 @@ unsigned SparcV9RegInfo::getRegClassIDOfRegType(int regType) const {
case FPDoubleRegType: return FloatRegClassID;
case IntCCRegType: return IntCCRegClassID;
case FloatCCRegType: return FloatCCRegClassID;
+ case SpecialRegType: return SpecialRegClassID;
default:
assert(0 && "Invalid register type in getRegClassIDOfRegType");
return 0;