[LLVMbugs] [Bug 9561] Store incorrectly eliminated
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Mar 29 15:14:17 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=9561
David Terei <davidterei at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #10 from David Terei <davidterei at gmail.com> 2011-03-29 17:14:17 CDT ---
Unfortunately the fix applied in revision 128319 has a bug in it. It does a
comparison between two pointers that have the same base pointer involving each
pointers offset and size from the base pointer:
(EarlierOff + Earlier.Size) <= (LaterOff + Later.Size)
This is correct but EarlierOff is a signed integer while Earlier.Size is
unsigned. So you don't get the right result.
I've attached a patch which doesn't change the logic of the code, just does the
comparison above differently so that the signed integer components are done
first and converted to unsigned equivalents to do the final comparison. This
fixes the bug for me.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list