http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52445
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-03-01 09:14:42 UTC --- The quick fix that would IMHO brings us back to pre-161655 decisions would be just to store also the offset and size into the hash table entries and use them as a requirement for the lookups. I think that would essentially map to what we did before. A better, but more complicated, change, would be to only keep using ssa_name and store as lookup criteria as we do right now, add a linked list of offset/sizes and consider non-trapping stores if the [offset, offset+size) interval is subset of the non-trapping bytes. This would be able to optimize even the cases where say there are is a larger store (or several smaller stores) that cover the area. We might need to prune the chains in nt_fini_block though. Richard, do you think for 4.7.0/4.6.4 just implementing the simpler approach would be fine?