[llvm-commits] [llvm] r135120 - /llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp

Eli Friedman eli.friedman at gmail.com
Wed Jul 13 17:22:31 PDT 2011


Author: efriedma
Date: Wed Jul 13 19:22:31 2011
New Revision: 135120

URL: http://llvm.org/viewvc/llvm-project?rev=135120&view=rev
Log:
Fix up assertion in r135018 so it doesn't trigger on 32-bit; when we're in 32-bit, it doesn't matter whether the operation overflows because the computed address is not wider than the immediate.


Modified:
    llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=135120&r1=135119&r2=135120&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Wed Jul 13 19:22:31 2011
@@ -732,7 +732,8 @@
     // 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.





More information about the llvm-commits mailing list