Index: src/IceTargetLoweringARM32.h |
diff --git a/src/IceTargetLoweringARM32.h b/src/IceTargetLoweringARM32.h |
index 62a903ded6cc37e43ae0695e5d1ea77c78b9a223..f6029c40b8968dbf2986d66a596539dafc581c84 100644 |
--- a/src/IceTargetLoweringARM32.h |
+++ b/src/IceTargetLoweringARM32.h |
@@ -74,8 +74,11 @@ public: |
IceString getRegName(SizeT RegNum, Type Ty) const override; |
llvm::SmallBitVector getRegisterSet(RegSetMask Include, |
RegSetMask Exclude) const override; |
- const llvm::SmallBitVector &getRegisterSetForType(Type Ty) const override { |
- return TypeToRegisterSet[Ty]; |
+ const llvm::SmallBitVector & |
+ getRegistersForVariable(const Variable *Var) const override { |
+ RegClass RC = Var->getRegClass(); |
+ assert(RC < RC_Target); |
+ return TypeToRegisterSet[RC]; |
} |
const llvm::SmallBitVector &getAliasesForRegister(SizeT Reg) const override { |
return RegisterAliases[Reg]; |
@@ -554,7 +557,7 @@ protected: |
bool MaybeLeafFunc = true; |
size_t SpillAreaSizeBytes = 0; |
// TODO(jpp): std::array instead of array. |
- static llvm::SmallBitVector TypeToRegisterSet[IceType_NUM]; |
+ static llvm::SmallBitVector TypeToRegisterSet[RCARM32_NUM]; |
static llvm::SmallBitVector RegisterAliases[RegARM32::Reg_NUM]; |
static llvm::SmallBitVector ScratchRegs; |
llvm::SmallBitVector RegsUsed; |