[Bug tree-optimization/101641] Bogus redundant store removal

2021-09-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 --- Comment #7 from Richard Biener --- Wow, and this time it's even combine coming into play! (insn 10 9 11 2 (set (reg/v:DI 82 [ xy ]) (mem/j:DI (reg/v/f:DI 86 [ pu ]) [2 pu_6(D)->y+0 S8 A64])) "t.i":12:8 76 {*movdi_internal} (nil

[Bug tree-optimization/101641] Bogus redundant store removal

2021-09-10 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 Richard Biener changed: What|Removed |Added CC||davmac at davmac dot org --- Comment #

[Bug tree-optimization/101641] Bogus redundant store removal

2021-07-29 Thread muecker at gwdg dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 --- Comment #5 from Martin Uecker --- (In reply to Richard Biener from comment #3) > > What we know from the union read is that the dynamic type is either the > union type (so the read can pun) or the dynamic type is the union member > type (the

[Bug tree-optimization/101641] Bogus redundant store removal

2021-07-29 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 --- Comment #4 from Richard Biener --- Just some more brain-dumps from thinking about a fix. - we can annotate the alias_set_entry with a flag whether it was created for a union type and use that to improve the logic - we can introduce some

[Bug tree-optimization/101641] Bogus redundant store removal

2021-07-29 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 --- Comment #3 from Richard Biener --- With union punning we've basically opened up a way to change the dynamic type of storage in a way that expects us from generating no code from a "virtual" read-write cycle involving the previous and the nex

[Bug tree-optimization/101641] Bogus redundant store removal

2021-07-29 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 --- Comment #2 from Richard Biener --- And the DOM copy has been split out to refs_same_for_tbaa_p, now also used by RTL CSE and DSE (which do the same transform), see the fix for PR93946.

[Bug tree-optimization/101641] Bogus redundant store removal

2021-07-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101641 Richard Biener changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org