Fix up assertion in r135018 so it doesn't trigger on 32-bit; when we're in 32-bit...
authorEli Friedman <eli.friedman@gmail.com>
Thu, 14 Jul 2011 00:22:31 +0000 (00:22 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Thu, 14 Jul 2011 00:22:31 +0000 (00:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135120 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86RegisterInfo.cpp

index d5e7dbf8ac3b3dbe51863cd3bf14defe842ca22a..c116dcbaa2d8fa67bd78b6efaa417a6bcdc0fc50 100644 (file)
@@ -732,7 +732,8 @@ X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
     // Offset is a 32-bit integer.
     int Imm = (int)(MI.getOperand(i + 3).getImm());
     int Offset = FIOffset + Imm;
-    assert(isInt<32>((long long)FIOffset + Imm) && "Overflowing offset!");
+    assert((!Is64Bit || isInt<32>((long long)FIOffset + Imm)) &&
+           "Requesting 64-bit offset in 32-bit immediate!");
     MI.getOperand(i + 3).ChangeToImmediate(Offset);
   } else {
     // Offset is symbolic. This is extremely rare.