[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 Richard Biener changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #15 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:bd9837bc3ca1344c32aef7ba9f8fa1785063132e commit r13-1777-gbd9837bc3ca1344c32aef7ba9f8fa1785063132e Author: Richard Biener Date:

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #14 from Kewen Lin --- > I think that DSE doesn't handle the store IFNs yet - maybe adding handling > to initialize_ao_ref_for_dse would be enough - but I think it cannot yet > handle a "conservative" start (for .MASK_STORES), but .L

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #13 from Richard Biener --- (In reply to Kewen Lin from comment #10) > But it still keeps the .LEN_STORE there: > > int foo () > { > int a[10]; > >[local count: 97603129]: > .LEN_STORE (&MEM [(void *)&a + 32B], 128B, 8, {

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #12 from Kewen Lin --- (In reply to Richard Biener from comment #9) > Created attachment 53328 [details] > patch > Thanks! Sorry that I didn't see this attachment when posting the above comment. > + MEM [(int *)&out + 16B] = {

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 Richard Biener changed: What|Removed |Added Attachment #53324|0 |1 is obsolete|

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-21 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #10 from Kewen Lin --- (In reply to Richard Biener from comment #7) > Created attachment 53323 [details] > prototype > > I'm testing this - for .LEN_STORE you mainly have to compute pd.rhs_off, > pd.offset, pd.size and do a single >

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

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

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 Richard Biener changed: What|Removed |Added Attachment #53323|0 |1 is obsolete|

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #7 from Richard Biener --- Created attachment 53323 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53323&action=edit prototype I'm testing this - for .LEN_STORE you mainly have to compute pd.rhs_off, pd.offset, pd.size and do

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #6 from Kewen Lin --- (In reply to Richard Biener from comment #5) > I will try to add handling for .MASK_STORE, hopefully that will be good > enough to massage the code for .LEN_STORE (which IIRC is "easier" since it's > a contiguou

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #5 from Richard Biener --- I will try to add handling for .MASK_STORE, hopefully that will be good enough to massage the code for .LEN_STORE (which IIRC is "easier" since it's a contiguous store rather than .MASK_STORE which can have

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #4 from Richard Biener --- int __attribute__((noinline,noclone)) foo (int *out) { int mask[] = { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }; int i; for (i = 0; i < 32;

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 --- Comment #3 from Kewen Lin --- (In reply to Richard Biener from comment #2) > What's the semantic of .LEN_STORE? I can't find documentation for this :/ > There's docs for the len_store optab but how 'mask' and 'bias' relate to its > operand

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 Richard Biener changed: What|Removed |Added CC||rsandifo at gcc dot gnu.org --- Commen

[Bug tree-optimization/106365] Miss to handle ifn .LEN_STORE in FRE

2022-07-20 Thread linkw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106365 Kewen Lin changed: What|Removed |Added CC||rguenth at gcc dot gnu.org,