Index: src/IceTargetLoweringMIPS32.h |
diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h |
index c01c6c2fb9696b400fd94a2e3f20cadfbf7bcd1f..1f91eeec616ebc7b33a286082a5f57a24e815786 100644 |
--- a/src/IceTargetLoweringMIPS32.h |
+++ b/src/IceTargetLoweringMIPS32.h |
@@ -54,8 +54,9 @@ public: |
bool hasFramePointer() const override { return UsesFramePointer; } |
void setHasFramePointer() override { UsesFramePointer = true; } |
SizeT getStackReg() const override { return RegMIPS32::Reg_SP; } |
+ SizeT getFrameReg() const override { return RegMIPS32::Reg_FP; } |
SizeT getFrameOrStackReg() const override { |
- return UsesFramePointer ? RegMIPS32::Reg_FP : RegMIPS32::Reg_SP; |
+ return UsesFramePointer ? getFrameReg() : getStackReg(); |
} |
size_t typeWidthInBytesOnStack(Type Ty) const override { |
// Round up to the next multiple of 4 bytes. In particular, i1, i8, and i16 |
@@ -66,6 +67,17 @@ public: |
// TODO(sehr): what is the stack alignment? |
return 1; |
} |
+ void reserveFixedAllocaArea(size_t Size, size_t Align) override { |
+ // TODO(sehr): Implement fixed stack layout. |
+ (void)Size; |
+ (void)Align; |
+ llvm::report_fatal_error("Not yet implemented"); |
+ } |
+ int32_t getFrameFixedAllocaOffset() const override { |
+ // TODO(sehr): Implement fixed stack layout. |
+ llvm::report_fatal_error("Not yet implemented"); |
+ return 0; |
+ } |
bool shouldSplitToVariable64On32(Type Ty) const override { |
return Ty == IceType_i64; |