summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/Mips16RegisterInfo.cpp
diff options
context:
space:
mode:
authorReed Kotler <rkotler@mips.com>2012-12-20 06:57:00 +0000
committerReed Kotler <rkotler@mips.com>2012-12-20 06:57:00 +0000
commit0fd831325006d3d3f73022b4908ceacfbf7aa262 (patch)
treeb11607bc4e72ecc2f6850e4df6aab59e6a01aed7 /lib/Target/Mips/Mips16RegisterInfo.cpp
parent82a36e2b593c84a97a69a50ce2323c19512d543b (diff)
downloadllvm-0fd831325006d3d3f73022b4908ceacfbf7aa262.tar.gz
llvm-0fd831325006d3d3f73022b4908ceacfbf7aa262.tar.bz2
llvm-0fd831325006d3d3f73022b4908ceacfbf7aa262.tar.xz
There is one more patch to finish large frames. Make sure we assert
on code that has large frames which will not yet compile correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170673 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/Mips16RegisterInfo.cpp')
-rw-r--r--lib/Target/Mips/Mips16RegisterInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/Mips/Mips16RegisterInfo.cpp b/lib/Target/Mips/Mips16RegisterInfo.cpp
index ff0f5a0dfb..3af62a17da 100644
--- a/lib/Target/Mips/Mips16RegisterInfo.cpp
+++ b/lib/Target/Mips/Mips16RegisterInfo.cpp
@@ -146,6 +146,10 @@ void Mips16RegisterInfo::eliminateFI(MachineBasicBlock::iterator II,
DEBUG(errs() << "Offset : " << Offset << "\n" << "<--------->\n");
+ if (!MI.isDebugValue() && ( ((FrameReg != Mips::SP) && !isInt<16>(Offset)) ||
+ ((FrameReg == Mips::SP) && !isInt<15>(Offset)) )) {
+ assert(false && "frame offset does not fit in instruction");
+ }
MI.getOperand(OpNo).ChangeToRegister(FrameReg, false);
MI.getOperand(OpNo + 1).ChangeToImmediate(Offset);