Add an assert (which should never trigger) that triggers on a testcase I'm looking at.
authorEli Friedman <eli.friedman@gmail.com>
Wed, 13 Jul 2011 00:44:29 +0000 (00:44 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Wed, 13 Jul 2011 00:44:29 +0000 (00:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135018 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86RegisterInfo.cpp

index 3d65faa00699e1936e88993d97e5de83ebaa49ce..d5e7dbf8ac3b3dbe51863cd3bf14defe842ca22a 100644 (file)
@@ -730,7 +730,9 @@ X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
 
   if (MI.getOperand(i+3).isImm()) {
     // Offset is a 32-bit integer.
-    int Offset = FIOffset + (int)(MI.getOperand(i + 3).getImm());
+    int Imm = (int)(MI.getOperand(i + 3).getImm());
+    int Offset = FIOffset + Imm;
+    assert(isInt<32>((long long)FIOffset + Imm) && "Overflowing offset!");
     MI.getOperand(i + 3).ChangeToImmediate(Offset);
   } else {
     // Offset is symbolic. This is extremely rare.