| 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;
|
|
|