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 |