This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/52445] [4.6/4.7 Regression] conditional store replacement causes segfault in generated code


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?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]