| Index: src/IceTargetLoweringMIPS32.h
|
| diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h
|
| index 7e87f0435ad41c4d8498f117e02b210005419155..d941deba90c4cc898b91ee02601b43434ca5fc99 100644
|
| --- a/src/IceTargetLoweringMIPS32.h
|
| +++ b/src/IceTargetLoweringMIPS32.h
|
| @@ -111,6 +111,10 @@ public:
|
| return Ty == IceType_i64;
|
| }
|
|
|
| + bool shouldSplitToVariableVecOn32(Type Ty) const override {
|
| + return isVectorType(Ty);
|
| + }
|
| +
|
| // TODO(ascull): what is the best size of MIPS?
|
| SizeT getMinJumpTableSize() const override { return 3; }
|
| void emitJumpTable(const Cfg *Func,
|
| @@ -609,9 +613,11 @@ public:
|
| void split64(Variable *Var);
|
| Operand *loOperand(Operand *Operand);
|
| Operand *hiOperand(Operand *Operand);
|
| + Operand *getOperandAtIndex(Operand *Operand, Type BaseType, uint32_t Index);
|
|
|
| - void finishArgumentLowering(Variable *Arg, Variable *FramePtr,
|
| - size_t BasicFrameOffset, size_t *InArgsSizeBytes);
|
| + void finishArgumentLowering(Variable *Arg, bool PartialOnStack,
|
| + Variable *FramePtr, size_t BasicFrameOffset,
|
| + size_t *InArgsSizeBytes);
|
|
|
| Operand *legalizeUndef(Operand *From, RegNumT RegNum = RegNumT());
|
|
|
| @@ -630,6 +636,7 @@ public:
|
| /// appropriate register number. Note that, when Ty == IceType_i64, Reg will
|
| /// be an I64 register pair.
|
| bool argInReg(Type Ty, uint32_t ArgNo, RegNumT *Reg);
|
| + void discardReg(RegNumT Reg) { GPRegsUsed |= RegisterAliases[Reg]; }
|
|
|
| private:
|
| // argInGPR is used to find if any GPR register is available for argument of
|
|
|