https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82918
--- Comment #4 from Antony Polukhin ---
Still rereads the value2.data[0] value in this sample:
struct array {
int data[3];
};
void foo2(array& value, const array& value2) {
value.data[1] = value2.data[0];
value.data[0] = value2.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82918
--- Comment #3 from Richard Biener ---
Probably fixed by r255093
2017-11-23 Richard Biener
PR tree-optimization/23094
* tree-ssa-sccvn.c (vuse_ssa_val): Handle VN_TOP when we
come here from walking over backedges in t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82918
--- Comment #2 from Antony Polukhin ---
The example from above now produces optimal assembly on GCC-9 (trunk).
However, swapping first two lines still produces suboptimal result:
struct array {
int data[3];
};
void foo2(array& value, const
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82918
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|