[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-06-05 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #12 from Pontakorn Prasertsuk --- I notice that GCC also does not optimize this case: https://godbolt.org/z/7oGqjqqz4

[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-06-05 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #11 from Pontakorn Prasertsuk --- (In reply to rguent...@suse.de from comment #10) > On Mon, 5 Jun 2023, ptk.prasertsuk at gmail dot com wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 > > > > --- Comment #9 from P

[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-06-05 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #9 from Pontakorn Prasertsuk --- (In reply to Richard Biener from comment #8) > (In reply to Pontakorn Prasertsuk from comment #7) > > For the LLVM IR code of the snippet I provided, Clang's alias analysis can > > prove that `new` ca

[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-06-02 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #7 from Pontakorn Prasertsuk --- For the LLVM IR code of the snippet I provided, Clang's alias analysis can prove that `new` call has no side effect to other memory location. This is indicated by `noalias` keyword at the return value

[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-05-30 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #5 from Pontakorn Prasertsuk --- (In reply to Andrew Pinski from comment #3) > We don't even optimize: > ``` > struct MyClass > { > unsigned long long arr[128]; > }; > > [[gnu::noipa]] > void sink(void *m); > void gg(MyClass &a,

[Bug tree-optimization/110035] Missed optimization for dependent assignment statements

2023-05-30 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 --- Comment #4 from Pontakorn Prasertsuk --- (In reply to Richard Biener from comment #1) > Ick - convoluted C++. We end up with > > void ff (struct MyClass & obj) > { > vector(2) long unsigned int vect_SR.16; > vector(2) long unsigned int

[Bug tree-optimization/110035] New: Missed optimization for dependent assignment statements

2023-05-30 Thread ptk.prasertsuk at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110035 Bug ID: 110035 Summary: Missed optimization for dependent assignment statements Product: gcc Version: 12.1.0 Status: UNCONFIRMED Severity: normal Pri