[Bug tree-optimization/114228] [14 Regression] memset/memcpy loop not always recognised with -Os

2024-03-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114228

Andrew Pinski  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Andrew Pinski  ---
Looks like this was on purpose, see PR 111583 for more analysis.

Basically if buff/input were either NULL, then this would have been an invalid
transformation.

So invalid.

[Bug tree-optimization/114228] [14 Regression] memset/memcpy loop not always recognised with -Os

2024-03-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114228

Andrew Pinski  changed:

   What|Removed |Added

 Ever confirmed|0   |1
   Keywords||needs-bisection
   Last reconfirmed||2024-03-04
 Status|UNCONFIRMED |NEW
   Target Milestone|--- |14.0
Summary|memset/memcpy loop not  |[14 Regression]
   |always recognised with -Os  |memset/memcpy loop not
   ||always recognised with -Os

--- Comment #1 from Andrew Pinski  ---
Confirmed.

The IR is the same before coming into ldist .

ldist in 13.2.0 had:
```
ldist creates useful parallel partition:
  0, 1, 2, 3, 4
Applying pattern match.pd:365, generic-match.cc:23462
distribute loop <1> into partitions:
```

But the trunk:
```
ldist asked to generate code for vertex 3
ldist creates useful parallel partition:
  0, 1, 2, 3, 4
Loop 1 not distributed.
```

But no reason why though.